diff options
Diffstat (limited to 'audio/musikcube/fix-install-locations.patch')
-rw-r--r-- | audio/musikcube/fix-install-locations.patch | 139 |
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() { |