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.
This commit is contained in:
parent
db39f9def1
commit
38f828eb9c
|
@ -4,7 +4,7 @@
|
||||||
, tag ? "" # tag added to the package name
|
, tag ? "" # tag added to the package name
|
||||||
, static ? false # link statically
|
, static ? false # link statically
|
||||||
|
|
||||||
, stdenv, fetchurl, cmake, makeWrapper, dconf
|
, stdenv, fetchFromGitHub, cmake, makeWrapper, dconf
|
||||||
, qtbase, qtscript
|
, qtbase, qtscript
|
||||||
, phonon, libdbusmenu, qca-qt5
|
, phonon, libdbusmenu, qca-qt5
|
||||||
|
|
||||||
|
@ -30,12 +30,17 @@ assert !buildClient -> !withKDE; # KDE is used by the client only
|
||||||
|
|
||||||
let
|
let
|
||||||
edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
|
edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
|
||||||
source = import ./source.nix { inherit fetchurl; };
|
|
||||||
|
|
||||||
in with stdenv; mkDerivation rec {
|
in with stdenv; mkDerivation rec {
|
||||||
inherit (source) src version;
|
|
||||||
|
|
||||||
name = "quassel${tag}-${version}";
|
name = "quassel${tag}-${version}";
|
||||||
|
version = "0.13.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "quassel";
|
||||||
|
repo = "quassel";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1jnmc0xky91h81xjjgwg5zylfns0f1pvjy2rv39wlah890k143zr";
|
||||||
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
@ -71,8 +76,6 @@ in with stdenv; mkDerivation rec {
|
||||||
--prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
|
--prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [ ./qt5_11.patch ];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://quassel-irc.org/;
|
homepage = https://quassel-irc.org/;
|
||||||
description = "Qt/KDE distributed IRC client suppporting a remote daemon";
|
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
|
combination of screen and a text-based IRC client such
|
||||||
as WeeChat, but graphical (based on Qt4/KDE4 or Qt5/KF5).
|
as WeeChat, but graphical (based on Qt4/KDE4 or Qt5/KF5).
|
||||||
'';
|
'';
|
||||||
license = stdenv.lib.licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = with maintainers; [ phreedom ttuegel ];
|
maintainers = with maintainers; [ phreedom ttuegel ];
|
||||||
repositories.git = https://github.com/quassel/quassel.git;
|
repositories.git = https://github.com/quassel/quassel.git;
|
||||||
inherit (qtbase.meta) platforms;
|
inherit (qtbase.meta) platforms;
|
||||||
|
|
|
@ -1,72 +0,0 @@
|
||||||
From 92f4dca367c3a6f0536a1e0f3fbb44bb6ed4da62 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Manuel Nickschas <sputnick@quassel-irc.org>
|
|
||||||
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
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
{ fetchurl }:
|
|
||||||
|
|
||||||
rec {
|
|
||||||
version = "0.12.5";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://github.com/quassel/quassel/archive/${version}.tar.gz";
|
|
||||||
sha256 = "04f42x87a4wkj3va3wnmj2jl7ikqqa7d7nmypqpqwalzpzk7kxwv";
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in a new issue