summaryrefslogtreecommitdiffstats
path: root/audio/musikcube/fix-install-locations.patch
blob: 091a90c0315041a2c0c61ecb68798ca241a0718c (plain)
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() {