about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/networking/onionshare/fix-paths.patch
blob: ddd0c75334bbdbc43dcb169847deafb8d8a5f64f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
diff --git a/onionshare/common.py b/onionshare/common.py
index 3373462..7fd245b 100644
--- a/onionshare/common.py
+++ b/onionshare/common.py
@@ -87,66 +87,16 @@ class Common(object):
                 ),
                 "share",
             )
-            if not os.path.exists(prefix):
-                # While running tests during stdeb bdist_deb, look 3 directories up for the share folder
-                prefix = os.path.join(
-                    os.path.dirname(
-                        os.path.dirname(os.path.dirname(os.path.dirname(prefix)))
-                    ),
-                    "share",
-                )
-
-        elif self.platform == "BSD" or self.platform == "Linux":
-            # Assume OnionShare is installed systemwide in Linux, since we're not running in dev mode
-            prefix = os.path.join(sys.prefix, "share/onionshare")
-
-        elif getattr(sys, "frozen", False):
-            # Check if app is "frozen"
-            # https://pythonhosted.org/PyInstaller/#run-time-information
-            if self.platform == "Darwin":
-                prefix = os.path.join(sys._MEIPASS, "share")
-            elif self.platform == "Windows":
-                prefix = os.path.join(os.path.dirname(sys.executable), "share")
+        else:
+            prefix = "@common@/share/onionshare"

         return os.path.join(prefix, filename)

     def get_tor_paths(self):
-        if self.platform == "Linux":
-            tor_path = "/usr/bin/tor"
-            tor_geo_ip_file_path = "/usr/share/tor/geoip"
-            tor_geo_ipv6_file_path = "/usr/share/tor/geoip6"
-            obfs4proxy_file_path = "/usr/bin/obfs4proxy"
-        elif self.platform == "Windows":
-            base_path = os.path.join(
-                os.path.dirname(os.path.dirname(self.get_resource_path(""))), "tor"
-            )
-            tor_path = os.path.join(os.path.join(base_path, "Tor"), "tor.exe")
-            obfs4proxy_file_path = os.path.join(
-                os.path.join(base_path, "Tor"), "obfs4proxy.exe"
-            )
-            tor_geo_ip_file_path = os.path.join(
-                os.path.join(os.path.join(base_path, "Data"), "Tor"), "geoip"
-            )
-            tor_geo_ipv6_file_path = os.path.join(
-                os.path.join(os.path.join(base_path, "Data"), "Tor"), "geoip6"
-            )
-        elif self.platform == "Darwin":
-            base_path = os.path.dirname(
-                os.path.dirname(os.path.dirname(self.get_resource_path("")))
-            )
-            tor_path = os.path.join(base_path, "Resources", "Tor", "tor")
-            tor_geo_ip_file_path = os.path.join(base_path, "Resources", "Tor", "geoip")
-            tor_geo_ipv6_file_path = os.path.join(
-                base_path, "Resources", "Tor", "geoip6"
-            )
-            obfs4proxy_file_path = os.path.join(
-                base_path, "Resources", "Tor", "obfs4proxy"
-            )
-        elif self.platform == "BSD":
-            tor_path = "/usr/local/bin/tor"
-            tor_geo_ip_file_path = "/usr/local/share/tor/geoip"
-            tor_geo_ipv6_file_path = "/usr/local/share/tor/geoip6"
-            obfs4proxy_file_path = "/usr/local/bin/obfs4proxy"
+        tor_path = "@tor@/bin/tor"
+        tor_geo_ip_file_path = "@geoip@/share/tor/geoip"
+        tor_geo_ipv6_file_path = "@geoip@/share/tor/geoip6"
+        obfs4proxy_file_path = "@obfs4@/bin/obfs4proxy"

         return (
             tor_path,
diff --git a/setup.py b/setup.py
index 9af72fc..53ca47b 100644
--- a/setup.py
+++ b/setup.py
@@ -70,41 +70,41 @@ classifiers = [
 ]
 data_files = [
     (
-        os.path.join(sys.prefix, "share/applications"),
+        "share/applications",
         ["install/org.onionshare.OnionShare.desktop"],
     ),
     (
-        os.path.join(sys.prefix, "share/icons/hicolor/scalable/apps"),
+        "share/icons/hicolor/scalable/apps",
         ["install/org.onionshare.OnionShare.svg"],
     ),
     (
-        os.path.join(sys.prefix, "share/metainfo"),
+        "share/metainfo",
         ["install/org.onionshare.OnionShare.appdata.xml"],
     ),
-    (os.path.join(sys.prefix, "share/onionshare"), file_list("share")),
-    (os.path.join(sys.prefix, "share/onionshare/images"), file_list("share/images")),
-    (os.path.join(sys.prefix, "share/onionshare/locale"), file_list("share/locale")),
+    ( "share/onionshare", file_list("share")),
+    ( "share/onionshare/images", file_list("share/images")),
+    ( "share/onionshare/locale", file_list("share/locale")),
     (
-        os.path.join(sys.prefix, "share/onionshare/templates"),
+        "share/onionshare/templates",
         file_list("share/templates"),
     ),
     (
-        os.path.join(sys.prefix, "share/onionshare/static/css"),
+        "share/onionshare/static/css",
         file_list("share/static/css"),
     ),
     (
-        os.path.join(sys.prefix, "share/onionshare/static/img"),
+        "share/onionshare/static/img",
         file_list("share/static/img"),
     ),
     (
-        os.path.join(sys.prefix, "share/onionshare/static/js"),
+        "share/onionshare/static/js",
         file_list("share/static/js"),
     ),
 ]
 if not platform.system().endswith("BSD") and platform.system() != "DragonFly":
     data_files.append(
         (
-            "/usr/share/nautilus-python/extensions/",
+            "share/nautilus-python/extensions/",
             ["install/scripts/onionshare-nautilus.py"],
         )
     )