summaryrefslogtreecommitdiffstats
path: root/audio/musikcube/fix-install-locations.patch
blob: 091a90c0315041a2c0c61ecb68798ca241a0718c (plain)
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
135
136
137
138
139
Patch taken from Void Linux xbps source repository.
Currently all ELF files (binaries and libraries), get installed to /usr/share/musikcube.
This patch moves all those files to their normal locations and fixes the code to expect that

diff --git a/.cmake/InstallFiles.cmake b/.cmake/InstallFiles.cmake
index 62d3c003..01ef58ac 100644
--- a/.cmake/InstallFiles.cmake
+++ b/.cmake/InstallFiles.cmake
@@ -4,7 +4,7 @@ if (APPLE)
   install(FILES ${plugins} DESTINATION share/musikcube/plugins)
 else ()
   file(GLOB plugins "bin/plugins/*.so")
-  install(FILES ${plugins} DESTINATION share/musikcube/plugins)
+  install(FILES ${plugins} DESTINATION lib/musikcube/plugins)
 endif ()
 
 if (${BUILD_STANDALONE} MATCHES "true")
@@ -43,20 +43,12 @@ endif()
 if (APPLE)
   install(FILES "bin/libmusikcore.dylib" DESTINATION share/musikcube)
 else()
-  install(FILES "bin/libmusikcore.so" DESTINATION share/musikcube)
+  install(FILES "bin/libmusikcore.so" DESTINATION lib/)
 endif()
 
 # executable and shell script for musikcube
 install(
   FILES bin/musikcube
-  DESTINATION share/musikcube
-  PERMISSIONS
-    OWNER_EXECUTE OWNER_READ OWNER_WRITE
-    GROUP_EXECUTE GROUP_READ GROUP_WRITE
-    WORLD_EXECUTE WORLD_READ)
-
-install(
-  FILES "${CMAKE_CURRENT_BINARY_DIR}/src/musikcube/musikcube"
   DESTINATION bin/
   PERMISSIONS
     OWNER_EXECUTE OWNER_READ OWNER_WRITE
@@ -58,14 +50,6 @@ install(
 # executable and shell script for daemon
 install(
   FILES bin/musikcubed
-  DESTINATION share/musikcube
-  PERMISSIONS
-    OWNER_EXECUTE OWNER_READ OWNER_WRITE
-    GROUP_EXECUTE GROUP_READ GROUP_WRITE
-    WORLD_EXECUTE WORLD_READ)
-
-install(
-  FILES "${CMAKE_CURRENT_BINARY_DIR}/src/musikcubed/musikcubed"
   DESTINATION bin/
   PERMISSIONS
     OWNER_EXECUTE OWNER_READ OWNER_WRITE
diff --git a/src/musikcore/support/Common.cpp b/src/musikcore/support/Common.cpp
index 31703117..53aa8a88 100644
--- a/src/musikcore/support/Common.cpp
+++ a/src/musikcore/support/Common.cpp
@@ -87,78 +87,11 @@
 namespace musik { namespace core {
 
     std::string GetPluginDirectory() {
-        std::string path(GetApplicationDirectory());
-        path.append("/plugins/");
-        return path;
+        return std::string("/usr/lib/musikcube/plugins");
     }
 
     std::string GetApplicationDirectory() {
-        std::string result;
-
-        #ifdef WIN32
-            wchar_t widePath[2048];
-            int length = GetModuleFileName(NULL, widePath, 2048);
-            if (length != 0 && length < 2048) {
-                result.assign(GetPath(u16to8(widePath).c_str()));
-            }
-        #elif __APPLE__
-            char pathbuf[PATH_MAX + 1];
-            uint32_t bufsize = sizeof(pathbuf);
-            _NSGetExecutablePath(pathbuf, &bufsize);
-            result.assign(pathbuf);
-            size_t last = result.find_last_of("/");
-            result = result.substr(0, last); /* remove filename component */
-        #else
-            char pathbuf[PATH_MAX + 1] = { 0 };
-
-            #ifdef __FreeBSD__
-                int mib[4];
-                mib[0] = CTL_KERN;
-                mib[1] = KERN_PROC;
-                mib[2] = KERN_PROC_PATHNAME;
-                mib[3] = -1;
-                size_t bufsize = sizeof(pathbuf);
-                sysctl(mib, 4, pathbuf, &bufsize, nullptr, 0);
-            #elif defined  __OpenBSD__
-                int mib[4];
-                char **argv;
-                size_t len = ARG_MAX;
-
-                mib[0] = CTL_KERN;
-                mib[1] = KERN_PROC_ARGS;
-                mib[2] = getpid();
-                mib[3] = KERN_PROC_ARGV;
-
-                argv = new char*[len];
-                if (sysctl(mib, 4, argv, &len, nullptr, 0) < 0) abort();
-
-                fs::path command = fs::absolute(fs::path(fs::u8path(argv[0])));
-                realpath(command.u8string().c_str(), pathbuf);
-                delete[] argv;
-            #elif defined __HAIKU__
-                image_info ii;
-                int32 c = 0;
-                while (get_next_image_info(0, &c, &ii) == B_OK) {
-                    if (ii.type == B_APP_IMAGE) {
-                        if (strlen(ii.name)) {
-                            std::string fn(ii.name);
-                            result = fs::u8path(fn).u8string();
-                        }
-                    }
-                }
-            #else
-                std::string pathToProc = u8fmt("/proc/%d/exe", (int) getpid());
-                readlink(pathToProc.c_str(), pathbuf, PATH_MAX);
-            #endif
-
-            if (!result.size() && strlen(pathbuf)) {
-                result.assign(pathbuf);
-            }
-            size_t last = result.find_last_of("/");
-            result = result.substr(0, last); /* remove filename component */
-        #endif
-
-        return result;
+        return std::string("/usr/share/musikcube");
     }
 
     std::string GetHomeDirectory() {