From 38f828eb9cbada2ce1c1efcbd2b1e717d168d71c Mon Sep 17 00:00:00 2001 From: Lars Jellema Date: Sat, 29 Dec 2018 17:23:36 +0100 Subject: [PATCH] quassel: 0.12.5 -> 0.13.0, cleanup In particular we move the src into the actual quassel derivation instead of using a `source.nix`. Also use `fetchFromGitHub` since using `fetchurl` for github archives is problematic. --- .../networking/irc/quassel/default.nix | 17 +++-- .../networking/irc/quassel/qt5_11.patch | 72 ------------------- .../networking/irc/quassel/source.nix | 9 --- 3 files changed, 10 insertions(+), 88 deletions(-) delete mode 100644 pkgs/applications/networking/irc/quassel/qt5_11.patch delete mode 100644 pkgs/applications/networking/irc/quassel/source.nix diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix index 9de394422279..ce6215908ae2 100644 --- a/pkgs/applications/networking/irc/quassel/default.nix +++ b/pkgs/applications/networking/irc/quassel/default.nix @@ -4,7 +4,7 @@ , tag ? "" # tag added to the package name , static ? false # link statically -, stdenv, fetchurl, cmake, makeWrapper, dconf +, stdenv, fetchFromGitHub, cmake, makeWrapper, dconf , qtbase, qtscript , phonon, libdbusmenu, qca-qt5 @@ -30,12 +30,17 @@ assert !buildClient -> !withKDE; # KDE is used by the client only let edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))]; - source = import ./source.nix { inherit fetchurl; }; in with stdenv; mkDerivation rec { - inherit (source) src version; - name = "quassel${tag}-${version}"; + version = "0.13.0"; + + src = fetchFromGitHub { + owner = "quassel"; + repo = "quassel"; + rev = version; + sha256 = "1jnmc0xky91h81xjjgwg5zylfns0f1pvjy2rv39wlah890k143zr"; + }; enableParallelBuilding = true; @@ -71,8 +76,6 @@ in with stdenv; mkDerivation rec { --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" ''; - patches = [ ./qt5_11.patch ]; - meta = with stdenv.lib; { homepage = https://quassel-irc.org/; description = "Qt/KDE distributed IRC client suppporting a remote daemon"; @@ -83,7 +86,7 @@ in with stdenv; mkDerivation rec { combination of screen and a text-based IRC client such as WeeChat, but graphical (based on Qt4/KDE4 or Qt5/KF5). ''; - license = stdenv.lib.licenses.gpl3; + license = licenses.gpl3; maintainers = with maintainers; [ phreedom ttuegel ]; repositories.git = https://github.com/quassel/quassel.git; inherit (qtbase.meta) platforms; diff --git a/pkgs/applications/networking/irc/quassel/qt5_11.patch b/pkgs/applications/networking/irc/quassel/qt5_11.patch deleted file mode 100644 index 45e43d7f96be..000000000000 --- a/pkgs/applications/networking/irc/quassel/qt5_11.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 92f4dca367c3a6f0536a1e0f3fbb44bb6ed4da62 Mon Sep 17 00:00:00 2001 -From: Manuel Nickschas -Date: Thu, 3 May 2018 23:19:34 +0200 -Subject: [PATCH] cmake: Fix build with Qt 5.11 - -Qt 5.11 removes the qt5_use_modules function, so add a copy. If -present, the Qt-provided function will be used instead. - -Closes GH-355. ---- - cmake/QuasselMacros.cmake | 38 ++++++++++++++++++++++++++++++++++++++ - 1 file changed, 38 insertions(+) - -diff --git a/cmake/QuasselMacros.cmake b/cmake/QuasselMacros.cmake -index 652c0042..d77ba1cf 100644 ---- a/cmake/QuasselMacros.cmake -+++ b/cmake/QuasselMacros.cmake -@@ -5,6 +5,9 @@ - # The qt4_use_modules function was taken from CMake's Qt4Macros.cmake: - # (C) 2005-2009 Kitware, Inc. - # -+# The qt5_use_modules function was taken from Qt 5.10.1 (and modified): -+# (C) 2005-2011 Kitware, Inc. -+# - # Redistribution and use is allowed according to the terms of the BSD license. - # For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -@@ -43,6 +46,41 @@ function(qt4_use_modules _target _link_type) - endforeach() - endfunction() - -+# Qt 5.11 removed the qt5_use_modules function, so we need to provide it until we can switch to a modern CMake version. -+# If present, the Qt-provided version will be used automatically instead. -+function(qt5_use_modules _target _link_type) -+ if (NOT TARGET ${_target}) -+ message(FATAL_ERROR "The first argument to qt5_use_modules must be an existing target.") -+ endif() -+ if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE" ) -+ set(_qt5_modules ${ARGN}) -+ set(_qt5_link_type ${_link_type}) -+ else() -+ set(_qt5_modules ${_link_type} ${ARGN}) -+ endif() -+ -+ if ("${_qt5_modules}" STREQUAL "") -+ message(FATAL_ERROR "qt5_use_modules requires at least one Qt module to use.") -+ endif() -+ foreach(_module ${_qt5_modules}) -+ if (NOT Qt5${_module}_FOUND) -+ find_package(Qt5${_module} PATHS "${_Qt5_COMPONENT_PATH}" NO_DEFAULT_PATH) -+ if (NOT Qt5${_module}_FOUND) -+ message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.") -+ endif() -+ endif() -+ target_link_libraries(${_target} ${_qt5_link_type} ${Qt5${_module}_LIBRARIES}) -+ set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_module}_INCLUDE_DIRS}) -+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_module}_COMPILE_DEFINITIONS}) -+ if (Qt5_POSITION_INDEPENDENT_CODE -+ AND (CMAKE_VERSION VERSION_LESS 2.8.12 -+ AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU" -+ OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0))) -+ set_property(TARGET ${_target} PROPERTY POSITION_INDEPENDENT_CODE ${Qt5_POSITION_INDEPENDENT_CODE}) -+ endif() -+ endforeach() -+endfunction() -+ - # Some wrappers for simplifying dual-Qt support - - function(qt_use_modules) --- -2.16.2 - diff --git a/pkgs/applications/networking/irc/quassel/source.nix b/pkgs/applications/networking/irc/quassel/source.nix deleted file mode 100644 index 20daba788997..000000000000 --- a/pkgs/applications/networking/irc/quassel/source.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ fetchurl }: - -rec { - version = "0.12.5"; - src = fetchurl { - url = "https://github.com/quassel/quassel/archive/${version}.tar.gz"; - sha256 = "04f42x87a4wkj3va3wnmj2jl7ikqqa7d7nmypqpqwalzpzk7kxwv"; - }; -}