void-packages/srcpkgs/musikcube/patches/fix-install-locations.patch
Đoàn Trần Công Danh 765e304c4b srcpkgs/m*: convert patches to -Np1
```sh
git grep -l '^patch_args=-Np0' "srcpkgs/$1*/template" |
while read template; do
	for p in ${template%/template}/patches/*; do
		sed -i '
			\,^[+-][+-][+-] /dev/null,b
			/^[*-]\+ [0-9]\+\(,[0-9]\+\)\? [*-]\+$/b
			s,^[*][*][*] ,&a/,
			/^--- /{
				s,\(^--- \)\(./\)*,\1a/,
				s,[.][Oo][Rr][Ii][Gg]\([	/]\),\1,
				s/[.][Oo][Rr][Ii][Gg]$//
				s/[.]patched[.]\([^.]\)/.\1/
				h
			}
			/^+++ -/{
				g
				s/^--- a/+++ b/
				b
			}
			s,\(^+++ \)\(./\)*,\1b/,
		' "$p"
	done
	sed -i '/^patch_args=/d' $template
done
```
2021-06-20 13:17:29 +07:00

125 lines
4.3 KiB
Diff

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 CMakeLists.txt CMakeLists.txt
index d685695f..5ac43f1f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -208,7 +208,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
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 ()
file(GLOB sdk_headers "src/musikcore/sdk/*.h")
@@ -237,20 +237,12 @@ endif()
if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
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
@@ -260,14 +252,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 src/musikcore/support/Common.cpp src/musikcore/support/Common.cpp
index 58bc4d2f..1670c2f7 100644
--- a/src/musikcore/support/Common.cpp
+++ b/src/musikcore/support/Common.cpp
@@ -90,65 +90,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();
-
- boost::filesystem::path command = boost::filesystem::system_complete(argv[0]);
- realpath(command.c_str(), pathbuf);
- delete[] argv;
- #else
- std::string pathToProc = u8fmt("/proc/%d/exe", (int) getpid());
- readlink(pathToProc.c_str(), pathbuf, PATH_MAX);
- #endif
-
- 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() {