summaryrefslogtreecommitdiffstats
path: root/audio/musikcube/fix-install-locations.patch
diff options
context:
space:
mode:
Diffstat (limited to 'audio/musikcube/fix-install-locations.patch')
-rw-r--r--audio/musikcube/fix-install-locations.patch139
1 files changed, 139 insertions, 0 deletions
diff --git a/audio/musikcube/fix-install-locations.patch b/audio/musikcube/fix-install-locations.patch
new file mode 100644
index 0000000000..091a90c031
--- /dev/null
+++ b/audio/musikcube/fix-install-locations.patch
@@ -0,0 +1,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() {