From 6f92dbffd2cf8c4ec4a08f5117b53864814304ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 9 Dec 2020 01:57:43 +0100 Subject: Added CPack files for uploading PPA packages --- CMakeLists.txt | 47 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 41 insertions(+), 6 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 303f47ab0a..299716305c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1488,13 +1488,15 @@ else() endif() add_dependencies(mixxx-lib mixxx-res mixxx-script) +file(READ src/_version.h MIXXX_VERSION_FILECONTENT) +string(REGEX REPLACE "^.*#define MIXXX_VERSION \"(.*)\".*$" "\\1" MIXXX_VERSION "${MIXXX_VERSION_FILECONTENT}") +# a dummy configure to force a reconfigure when the version changes +configure_file(src/_version.h src/_version.h) + # Windows-only resource file if(WIN32) string(TIMESTAMP MIXXX_YEAR "%Y") - file(READ src/_version.h MIXXX_VERSION_FILECONTENT) - string(REGEX REPLACE "^.*#define MIXXX_VERSION \"(.*)\".*$" "\\1" MIXXX_VERSION "${MIXXX_VERSION_FILECONTENT}") - # Remove anything after ~ or - in the version number and replace the dots with commas string(REGEX REPLACE "^([^~-]+).*$" "\\1" MIXXX_FILEVERSION "${MIXXX_VERSION}") string(REPLACE "." "," MIXXX_FILEVERSION "${MIXXX_FILEVERSION}") @@ -2510,7 +2512,8 @@ endif() # Packaging set(CPACK_PACKAGE_VENDOR "Mixxx Project") set(CPACK_PACKAGE_CONTACT "RJ Skerry-Ryan ") -set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cpack_package_description.txt") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Digital Disc Jockey Application") +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/packaging/CPackPackageDescription.txt") set(CPACK_PACKAGE_INSTALL_DIRECTORY "Mixxx") set(CPACK_PACKAGE_EXECUTABLES "mixxx;Mixxx") set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/res/images/mixxx_install_logo.bmp") @@ -2522,12 +2525,42 @@ set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README") set(CPACK_STRIP_FILES ON) set(CPACK_CREATE_DESKTOP_LINKS "mixxx") +set(CPACK_SOURCE_IGNORE_FILES "\\\\.#;/#;.*~;\\\\.o$") +list(APPEND CPACK_SOURCE_IGNORE_FILES "/\\\\.git/") +list(APPEND CPACK_SOURCE_IGNORE_FILES "/\\\\.github/") +list(APPEND CPACK_SOURCE_IGNORE_FILES "/cache/") +list(APPEND CPACK_SOURCE_IGNORE_FILES "/.*_build/") +list(APPEND CPACK_SOURCE_IGNORE_FILES "/\\\\.sconf_temp/") +list(APPEND CPACK_SOURCE_IGNORE_FILES "${CMAKE_CURRENT_BINARY_DIR}/") +set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}-Source") + set(CPACK_DEBIAN_PACKAGE_SECTION "sound") set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") -set(CPACK_DEBIAN_PACKAGE_SUGGESTS "pdf-viewer") +set(CPACK_DEBIAN_PACKAGE_SUGGESTS "pdf-viewer, pulseaudio-utils") set(CPACK_DEBIAN_PACKAGE_REPLACES "mixxx-data") -set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5opengl5, libqt5svg5, libqt5xml5, libqt5sql5, libqt5sql5-sqlite") +set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5sql5-sqlite") set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) +set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "${CPACK_PACKAGE_HOMEPAGE_URL}") +file(READ ${CPACK_PACKAGE_DESCRIPTION_FILE} CPACK_DEBIAN_PACKAGE_DESCRIPTION) +set(CPACK_DEBIAN_PACKAGE_DESCRIPTION_MERGED "${CPACK_DEBIAN_PACKAGE_DESCRIPTION}") +string(PREPEND CPACK_DEBIAN_PACKAGE_DESCRIPTION_MERGED "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}" "\n") +string(REPLACE "\n\n" "\n.\n" CPACK_DEBIAN_PACKAGE_DESCRIPTION_MERGED "${CPACK_DEBIAN_PACKAGE_DESCRIPTION_MERGED}") +string(REPLACE "\n" "\n " CPACK_DEBIAN_PACKAGE_DESCRIPTION_MERGED "${CPACK_DEBIAN_PACKAGE_DESCRIPTION_MERGED}") +if("3.16.0" VERSION_GREATER CMAKE_VERSION) + # This hack is no longer required with cpack version 3.16.3 + set(CPACK_PACKAGE_DESCRIPTION "${CPACK_DEBIAN_PACKAGE_DESCRIPTION_MERGED}") +endif() + +# The upstream version must not contain hyphen +string(REPLACE "-" "~" CPACK_DEBIAN_UPSTREAM_VERSION "${MIXXX_VERSION}") +set(CPACK_DEBIAN_DEBIAN_VERSION 0ubuntu1) +set(CPACK_DEBIAN_DEBIAN_VERSION_EXTRA "${GIT_BRANCH}~git${GIT_COMMIT_COUNT}") +string(REPLACE "_" "" CPACK_DEBIAN_DEBIAN_VERSION_EXTRA "${CPACK_DEBIAN_DEBIAN_VERSION_EXTRA}") +set(CPACK_DEBIAN_PACKAGE_VERSION "${CPACK_DEBIAN_UPSTREAM_VERSION}-ppa1~${GIT_BRANCH}~git${GIT_COMMIT_COUNT}~bionic") +set(CPACK_DEBIAN_DISTRIBUTION_RELEASES bionic focal groovy) +set(CPACK_DEBIAN_SOURCE_DIR ${CMAKE_SOURCE_DIR}) +set(CPACK_DEBIAN_UPLOAD_PPA_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/packaging/CPackDebUploadPPA.cmake") + set(CPACK_WIX_UPGRADE_GUID "921DC99C-4DCF-478D-B950-50685CB9E6BE") set(CPACK_WIX_LICENSE_RTF "${CMAKE_CURRENT_SOURCE_DIR}/build/wix/LICENSE.rtf") @@ -2536,6 +2569,8 @@ set(CPACK_WIX_PROPERTY_ARPHELPLINK "${CPACK_PACKAGE_HOMEPAGE_URL}") set(CPACK_WIX_UI_BANNER "${CMAKE_CURRENT_SOURCE_DIR}/build/wix/images/banner.bmp") set(CPACK_WIX_UI_DIALOG "${CMAKE_CURRENT_SOURCE_DIR}/build/wix/images/dialog.bmp") +set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_SOURCE_DIR}/packaging/CPackConfig.cmake" ) + include(CPack) if(APPLE AND MACOS_BUNDLE) -- cgit v1.2.3 From f2b93a75eed246038d60382da329aeccafe71e00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 9 Dec 2020 20:15:21 +0100 Subject: Fix path for AppStream an udev and add provides section to AppStream file --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 299716305c..245ef342cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1270,7 +1270,7 @@ if(UNIX AND NOT APPLE) FILES "${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx.appdata.xml" DESTINATION - "${CMAKE_INSTALL_DATADIR}/appdata" + "${CMAKE_INSTALL_DATAROOTDIR}/metainfo" ) # udev rule file for USB HID and Bulk controllers -- cgit v1.2.3 From c5890568f453ebf4384aeec19b885a28f7c5352e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 9 Dec 2020 20:07:09 +0100 Subject: Use System Fonts --- CMakeLists.txt | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 245ef342cd..98e3d58f95 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1205,13 +1205,26 @@ install( "*.qm" ) + # Font files -install( - DIRECTORY - "${CMAKE_CURRENT_SOURCE_DIR}/res/fonts" - DESTINATION - "${MIXXX_INSTALL_DATADIR}" -) +if(UNIX AND NOT APPLE) + # Ubuntu and OpenSans are already installed by package manager + install( + DIRECTORY + "${CMAKE_CURRENT_SOURCE_DIR}/res/fonts" + DESTINATION + "${MIXXX_INSTALL_DATADIR}" + PATTERN "OpenSans*" EXCLUDE + PATTERN "Ubuntu*" EXCLUDE + ) +else() + install( + DIRECTORY + "${CMAKE_CURRENT_SOURCE_DIR}/res/fonts" + DESTINATION + "${MIXXX_INSTALL_DATADIR}" + ) +endif() # Keyboard mapping(s) install( @@ -2538,7 +2551,7 @@ set(CPACK_DEBIAN_PACKAGE_SECTION "sound") set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") set(CPACK_DEBIAN_PACKAGE_SUGGESTS "pdf-viewer, pulseaudio-utils") set(CPACK_DEBIAN_PACKAGE_REPLACES "mixxx-data") -set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5sql5-sqlite") +set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5sql5-sqlite, fonts-open-sans, fonts-ubuntu") set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "${CPACK_PACKAGE_HOMEPAGE_URL}") file(READ ${CPACK_PACKAGE_DESCRIPTION_FILE} CPACK_DEBIAN_PACKAGE_DESCRIPTION) -- cgit v1.2.3 From 1fdca9e44e6661488c13f36431b8973daa730f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Thu, 10 Dec 2020 08:52:58 +0100 Subject: use dh_installudev and add INSTALL_USER_UDEV_RULES cmake option --- CMakeLists.txt | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 98e3d58f95..335b8ab4e9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1286,13 +1286,19 @@ if(UNIX AND NOT APPLE) "${CMAKE_INSTALL_DATAROOTDIR}/metainfo" ) - # udev rule file for USB HID and Bulk controllers - install( - FILES - "${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx-usb-uaccess.rules" - DESTINATION - "${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d" - ) + option(INSTALL_USER_UDEV_RULES "Install user udev rule file for USB HID and Bulk controllers" ON) + if (INSTALL_USER_UDEV_RULES) + install( + FILES + "${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx-usb-uaccess.rules" + DESTINATION + "${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d" + ) + message(WARNING "Installing udev rules to ${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d, " + "which is reserved for user-installed files. The correct directory for " + "system rules is /lib/udev/rules.d. with a appropiated priority prefix. " + "Adjust your package script accordingly and set -DINSTALL_USER_UDEV_RULES=OFF") + endif() endif() # -- cgit v1.2.3 From 7092d84e0ae1e76231c5ca0c3e926d9e14a66194 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Thu, 10 Dec 2020 14:58:35 +0100 Subject: Change Disc Jockey to DJ Co-authored-by: Be --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 335b8ab4e9..29ef4eb506 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2531,7 +2531,7 @@ endif() # Packaging set(CPACK_PACKAGE_VENDOR "Mixxx Project") set(CPACK_PACKAGE_CONTACT "RJ Skerry-Ryan ") -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Digital Disc Jockey Application") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Digital DJ Application") set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/packaging/CPackPackageDescription.txt") set(CPACK_PACKAGE_INSTALL_DIRECTORY "Mixxx") set(CPACK_PACKAGE_EXECUTABLES "mixxx;Mixxx") -- cgit v1.2.3 From 37099e0cf92c13b79cea5e8f182bff84fea46b92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Fri, 11 Dec 2020 11:52:25 +0100 Subject: Adjust warning for udev installation --- CMakeLists.txt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 29ef4eb506..32ac767d86 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1294,10 +1294,17 @@ if(UNIX AND NOT APPLE) DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d" ) - message(WARNING "Installing udev rules to ${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d, " - "which is reserved for user-installed files. The correct directory for " - "system rules is /lib/udev/rules.d. with a appropiated priority prefix. " - "Adjust your package script accordingly and set -DINSTALL_USER_UDEV_RULES=OFF") + message(WARNING +"The udev rule file for USB HID and Bulk controller permissions will be installed to " +"${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d " +"If you are installing Mixxx from source for your own use, copy " +"mixxx-usb-uaccess.rules " +"to /etc/udev/rules.d/ and run: " +"udevadm control --reload-rules && udevadm trigger " +"as root to load the rules. " +"If you are building a package for a distribution, the correct directory for" +"system rules is /lib/udev/rules.d with an appropriate priority prefix. " +"Adjust your package script accordingly and set -DINSTALL_USER_UDEV_RULES=OFF") endif() endif() -- cgit v1.2.3 From 46cb7a6100ca0b54e00744bb5b7f69e4a8154baa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Fri, 11 Dec 2020 12:46:57 +0100 Subject: Improve message formating --- CMakeLists.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 32ac767d86..bbcb2634d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1295,16 +1295,16 @@ if(UNIX AND NOT APPLE) "${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d" ) message(WARNING -"The udev rule file for USB HID and Bulk controller permissions will be installed to " -"${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d " -"If you are installing Mixxx from source for your own use, copy " -"mixxx-usb-uaccess.rules " -"to /etc/udev/rules.d/ and run: " -"udevadm control --reload-rules && udevadm trigger " -"as root to load the rules. " -"If you are building a package for a distribution, the correct directory for" -"system rules is /lib/udev/rules.d with an appropriate priority prefix. " -"Adjust your package script accordingly and set -DINSTALL_USER_UDEV_RULES=OFF") + " The udev rule file for USB HID and Bulk controller permissions will\n" + " be installed to: ${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d.\n" + " If you are installing Mixxx from source for your own use, copy\n" + " mixxx-usb-uaccess.rules to /etc/udev/rules.d/ and run:\n" + " udevadm control --reload-rules && udevadm trigger\n" + " as root to load the rules.\n" + " If you are building a package for a distribution, the correct\n" + " directory for system rules is /lib/udev/rules.d with an appropriate\n" + " priority prefix. Adjust your package script accordingly and set\n" + " -DINSTALL_USER_UDEV_RULES=OFF") endif() endif() -- cgit v1.2.3