diff options
Diffstat (limited to 'pkgs')
142 files changed, 2384 insertions, 1781 deletions
diff --git a/pkgs/applications/audio/mda-lv2/default.nix b/pkgs/applications/audio/mda-lv2/default.nix index 30d654ab87a..92f8506483f 100644 --- a/pkgs/applications/audio/mda-lv2/default.nix +++ b/pkgs/applications/audio/mda-lv2/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "mda-lv2"; - version = "1.2.4"; + version = "1.2.6"; src = fetchurl { url = "https://download.drobilla.net/${pname}-${version}.tar.bz2"; - sha256 = "1a3cv6w5xby9yn11j695rbh3c4ih7rxfxmkca9s1324ljphh06m8"; + sha256 = "sha256-zWYRcCSuBJzzrKg/npBKcCdyJOI6lp9yqcXQEKSYV9s="; }; nativeBuildInputs = [ pkg-config wafHook python3 ]; diff --git a/pkgs/applications/kde/akonadi-contacts.nix b/pkgs/applications/kde/akonadi-contacts.nix index 2076723a372..ad94c79e0f3 100644 --- a/pkgs/applications/kde/akonadi-contacts.nix +++ b/pkgs/applications/kde/akonadi-contacts.nix @@ -2,9 +2,9 @@ mkDerivation, lib, kdepimTeam, extra-cmake-modules, qtwebengine, - grantlee, + grantlee, grantleetheme, kdbusaddons, ki18n, kiconthemes, kio, kitemmodels, ktextwidgets, prison, - akonadi, akonadi-mime, kcontacts, kmime, + akonadi, akonadi-mime, kcontacts, kmime, libkleo, }: mkDerivation { @@ -16,9 +16,9 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ qtwebengine - grantlee + grantlee grantleetheme kdbusaddons ki18n kiconthemes kio kitemmodels ktextwidgets prison - akonadi-mime kcontacts kmime + akonadi-mime kcontacts kmime libkleo ]; propagatedBuildInputs = [ akonadi ]; outputs = [ "out" "dev" ]; diff --git a/pkgs/applications/kde/akonadi/0001-akonadi-paths.patch b/pkgs/applications/kde/akonadi/0001-akonadi-paths.patch index 58390cba226..3e5ccc9cdaa 100644 --- a/pkgs/applications/kde/akonadi/0001-akonadi-paths.patch +++ b/pkgs/applications/kde/akonadi/0001-akonadi-paths.patch @@ -1,6 +1,6 @@ -From 90969b9b36400d47b1afe761fb8468c1acb8a04a Mon Sep 17 00:00:00 2001 +From f4d718502ecd8242500078a7783e27caba72871e Mon Sep 17 00:00:00 2001 From: Thomas Tuegel <ttuegel@mailbox.org> -Date: Mon, 13 Jul 2020 11:41:19 -0500 +Date: Sun, 31 Jan 2021 11:00:03 -0600 Subject: [PATCH 1/3] akonadi paths --- @@ -11,10 +11,10 @@ Subject: [PATCH 1/3] akonadi paths 4 files changed, 11 insertions(+), 40 deletions(-) diff --git a/src/akonadicontrol/agentmanager.cpp b/src/akonadicontrol/agentmanager.cpp -index 23b4a1f..c13b658 100644 +index 31e0cf2..6436e87 100644 --- a/src/akonadicontrol/agentmanager.cpp +++ b/src/akonadicontrol/agentmanager.cpp -@@ -61,7 +61,7 @@ public: +@@ -48,7 +48,7 @@ public: []() { QCoreApplication::instance()->exit(255); }); @@ -23,7 +23,7 @@ index 23b4a1f..c13b658 100644 } ~StorageProcessControl() override -@@ -84,7 +84,7 @@ public: +@@ -70,7 +70,7 @@ public: []() { qCCritical(AKONADICONTROL_LOG) << "Failed to start AgentServer!"; }); @@ -33,10 +33,10 @@ index 23b4a1f..c13b658 100644 ~AgentServerProcessControl() override diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp -index 4e58f7e..e8bb532 100644 +index c98946c..aa307ca 100644 --- a/src/akonadicontrol/agentprocessinstance.cpp +++ b/src/akonadicontrol/agentprocessinstance.cpp -@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo) +@@ -49,7 +49,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo) } else { Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher); const QStringList arguments = QStringList() << executable << identifier(); @@ -46,10 +46,10 @@ index 4e58f7e..e8bb532 100644 } return true; diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp -index cac40f5..527649b 100644 +index d595a3a..99324f6 100644 --- a/src/server/storage/dbconfigmysql.cpp +++ b/src/server/storage/dbconfigmysql.cpp -@@ -83,7 +83,6 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -69,7 +69,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) // determine default settings depending on the driver QString defaultHostName; QString defaultOptions; @@ -57,7 +57,7 @@ index cac40f5..527649b 100644 QString defaultCleanShutdownCommand; #ifndef Q_OS_WIN -@@ -92,16 +91,7 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -78,16 +77,7 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) #endif const bool defaultInternalServer = true; @@ -75,7 +75,7 @@ index cac40f5..527649b 100644 if (!mysqladminPath.isEmpty()) { #ifndef Q_OS_WIN defaultCleanShutdownCommand = QStringLiteral("%1 --defaults-file=%2/mysql.conf --socket=%3/%4 shutdown") -@@ -111,10 +101,10 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -97,10 +87,10 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) #endif } @@ -88,7 +88,7 @@ index cac40f5..527649b 100644 qCDebug(AKONADISERVER_LOG) << "Found mysqlcheck: " << mMysqlCheckPath; mInternalServer = settings.value(QStringLiteral("QMYSQL/StartServer"), defaultInternalServer).toBool(); -@@ -131,7 +121,7 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -117,7 +107,7 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) mUserName = settings.value(QStringLiteral("User")).toString(); mPassword = settings.value(QStringLiteral("Password")).toString(); mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString(); @@ -97,7 +97,7 @@ index cac40f5..527649b 100644 mCleanServerShutdownCommand = settings.value(QStringLiteral("CleanServerShutdownCommand"), defaultCleanShutdownCommand).toString(); settings.endGroup(); -@@ -141,9 +131,6 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -127,9 +117,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) // intentionally not namespaced as we are the only one in this db instance when using internal mode mDatabaseName = QStringLiteral("akonadi"); } @@ -107,17 +107,17 @@ index cac40f5..527649b 100644 qCDebug(AKONADISERVER_LOG) << "Using mysqld:" << mMysqldPath; -@@ -152,9 +139,6 @@ bool DbConfigMysql::init(QSettings &settings) - settings.setValue(QStringLiteral("Name"), mDatabaseName); - settings.setValue(QStringLiteral("Host"), mHostName); - settings.setValue(QStringLiteral("Options"), mConnectionOptions); -- if (!mMysqldPath.isEmpty()) { -- settings.setValue(QStringLiteral("ServerPath"), mMysqldPath); -- } - settings.setValue(QStringLiteral("StartServer"), mInternalServer); - settings.endGroup(); - settings.sync(); -@@ -209,7 +193,7 @@ bool DbConfigMysql::startInternalServer() +@@ -139,9 +126,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) + settings.setValue(QStringLiteral("Name"), mDatabaseName); + settings.setValue(QStringLiteral("Host"), mHostName); + settings.setValue(QStringLiteral("Options"), mConnectionOptions); +- if (!mMysqldPath.isEmpty()) { +- settings.setValue(QStringLiteral("ServerPath"), mMysqldPath); +- } + settings.setValue(QStringLiteral("StartServer"), mInternalServer); + settings.endGroup(); + settings.sync(); +@@ -214,7 +198,7 @@ bool DbConfigMysql::startInternalServer() #endif // generate config file @@ -127,10 +127,10 @@ index cac40f5..527649b 100644 const QString actualConfig = StandardDirs::saveDir("data") + QLatin1String("/mysql.conf"); if (globalConfig.isEmpty()) { diff --git a/src/server/storage/dbconfigpostgresql.cpp b/src/server/storage/dbconfigpostgresql.cpp -index 09cdbd5..1c8996b 100644 +index dd273fc..05288d9 100644 --- a/src/server/storage/dbconfigpostgresql.cpp +++ b/src/server/storage/dbconfigpostgresql.cpp -@@ -141,9 +141,7 @@ bool DbConfigPostgresql::init(QSettings &settings) +@@ -127,9 +127,7 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) // determine default settings depending on the driver QString defaultHostName; QString defaultOptions; @@ -140,7 +140,7 @@ index 09cdbd5..1c8996b 100644 QString defaultPgData; #ifndef Q_WS_WIN // We assume that PostgreSQL is running as service on Windows -@@ -154,12 +152,8 @@ bool DbConfigPostgresql::init(QSettings &settings) +@@ -140,12 +138,8 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) mInternalServer = settings.value(QStringLiteral("QPSQL/StartServer"), defaultInternalServer).toBool(); if (mInternalServer) { @@ -154,7 +154,7 @@ index 09cdbd5..1c8996b 100644 defaultPgData = StandardDirs::saveDir("data", QStringLiteral("db_data")); } -@@ -178,20 +172,14 @@ bool DbConfigPostgresql::init(QSettings &settings) +@@ -164,20 +158,14 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) mUserName = settings.value(QStringLiteral("User")).toString(); mPassword = settings.value(QStringLiteral("Password")).toString(); mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString(); @@ -177,14 +177,14 @@ index 09cdbd5..1c8996b 100644 qCDebug(AKONADISERVER_LOG) << "Found pg_upgrade:" << mPgUpgradePath; mPgData = settings.value(QStringLiteral("PgData"), defaultPgData).toString(); if (mPgData.isEmpty()) { -@@ -207,7 +195,6 @@ bool DbConfigPostgresql::init(QSettings &settings) - settings.setValue(QStringLiteral("Port"), mHostPort); - } - settings.setValue(QStringLiteral("Options"), mConnectionOptions); -- settings.setValue(QStringLiteral("ServerPath"), mServerPath); - settings.setValue(QStringLiteral("InitDbPath"), mInitDbPath); - settings.setValue(QStringLiteral("StartServer"), mInternalServer); - settings.endGroup(); +@@ -194,7 +182,6 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) + settings.setValue(QStringLiteral("Port"), mHostPort); + } + settings.setValue(QStringLiteral("Options"), mConnectionOptions); +- settings.setValue(QStringLiteral("ServerPath"), mServerPath); + settings.setValue(QStringLiteral("InitDbPath"), mInitDbPath); + settings.setValue(QStringLiteral("StartServer"), mInternalServer); + settings.endGroup(); -- -2.25.4 +2.29.2 diff --git a/pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch b/pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch index ac9b3146e17..24f59f67916 100644 --- a/pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch +++ b/pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch @@ -1,6 +1,6 @@ -From b8c6a2a017321649db8fec553a644b8da2300514 Mon Sep 17 00:00:00 2001 +From badd4be311afd37a99126c60490f1ae5daced6c4 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel <ttuegel@mailbox.org> -Date: Mon, 13 Jul 2020 11:41:35 -0500 +Date: Sun, 31 Jan 2021 11:00:15 -0600 Subject: [PATCH 2/3] akonadi timestamps --- @@ -8,10 +8,10 @@ Subject: [PATCH 2/3] akonadi timestamps 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp -index 527649b..08c3dd4 100644 +index 99324f6..3c170a8 100644 --- a/src/server/storage/dbconfigmysql.cpp +++ b/src/server/storage/dbconfigmysql.cpp -@@ -235,8 +235,7 @@ bool DbConfigMysql::startInternalServer() +@@ -240,8 +240,7 @@ bool DbConfigMysql::startInternalServer() bool confUpdate = false; QFile actualFile(actualConfig); // update conf only if either global (or local) is newer than actual @@ -22,5 +22,5 @@ index 527649b..08c3dd4 100644 QFile localFile(localConfig); if (globalFile.open(QFile::ReadOnly) && actualFile.open(QFile::WriteOnly)) { -- -2.25.4 +2.29.2 diff --git a/pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch b/pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch index 1a0bc000c80..3aa61da73e4 100644 --- a/pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch +++ b/pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch @@ -1,6 +1,6 @@ -From 7afe018382cf68b477b35f87b666424d62d19ef4 Mon Sep 17 00:00:00 2001 +From 82bfa975af60757374ffad787e56a981d6df0f98 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel <ttuegel@mailbox.org> -Date: Mon, 13 Jul 2020 11:41:55 -0500 +Date: Sun, 31 Jan 2021 11:01:24 -0600 Subject: [PATCH 3/3] akonadi revert make relocatable --- @@ -9,10 +9,10 @@ Subject: [PATCH 3/3] akonadi revert make relocatable 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index d927471..83a74c0 100644 +index 4bb5fec..35720b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -330,9 +330,6 @@ configure_package_config_file( +@@ -343,9 +343,6 @@ configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiConfig.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} @@ -23,29 +23,23 @@ index d927471..83a74c0 100644 install(FILES diff --git a/KF5AkonadiConfig.cmake.in b/KF5AkonadiConfig.cmake.in -index 421e1df..e3abf27 100644 +index bcf7320..1574319 100644 --- a/KF5AkonadiConfig.cmake.in +++ b/KF5AkonadiConfig.cmake.in -@@ -24,8 +24,8 @@ if(BUILD_TESTING) - find_dependency(Qt5Test "@QT_REQUIRED_VERSION@") - endif() +@@ -1,10 +1,10 @@ + @PACKAGE_INIT@ -set_and_check(AKONADI_DBUS_INTERFACES_DIR "@PACKAGE_AKONADI_DBUS_INTERFACES_INSTALL_DIR@") -set_and_check(AKONADI_INCLUDE_DIR "@PACKAGE_AKONADI_INCLUDE_DIR@") +set_and_check(AKONADI_DBUS_INTERFACES_DIR "@AKONADI_DBUS_INTERFACES_INSTALL_DIR@") +set_and_check(AKONADI_INCLUDE_DIR "@AKONADI_INCLUDE_DIR@") - find_dependency(Boost "@Boost_MINIMUM_VERSION@") - -@@ -33,7 +33,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiTargets.cmake) - include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiMacros.cmake) - # The directory where akonadi-xml.xsd and kcfg2dbus.xsl are installed -set(KF5Akonadi_DATA_DIR "@PACKAGE_KF5Akonadi_DATA_DIR@") +set(KF5Akonadi_DATA_DIR "@KF5Akonadi_DATA_DIR@") - #################################################################################### - # CMAKE_AUTOMOC + # set the directories + if(NOT AKONADI_INSTALL_DIR) -- -2.25.4 +2.29.2 diff --git a/pkgs/applications/kde/akonadi/default.nix b/pkgs/applications/kde/akonadi/default.nix index d24e19f89e7..e0b0e2324b1 100644 --- a/pkgs/applications/kde/akonadi/default.nix +++ b/pkgs/applications/kde/akonadi/default.nix @@ -3,7 +3,7 @@ extra-cmake-modules, shared-mime-info, qtbase, accounts-qt, boost, kaccounts-integration, kcompletion, kconfigwidgets, kcrash, kdbusaddons, kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mysql, qttools, - signond, + signond, lzma, }: mkDerivation { @@ -21,7 +21,7 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules shared-mime-info ]; buildInputs = [ kaccounts-integration kcompletion kconfigwidgets kcrash kdbusaddons kdesignerplugin - ki18n kiconthemes kio kwindowsystem accounts-qt qttools signond + ki18n kiconthemes kio kwindowsystem lzma accounts-qt qttools signond ]; propagatedBuildInputs = [ boost kitemmodels ]; outputs = [ "out" "dev" ]; diff --git a/pkgs/applications/kde/calendarsupport.nix b/pkgs/applications/kde/calendarsupport.nix index b316ab4e568..c7ef5c4615c 100644 --- a/pkgs/applications/kde/calendarsupport.nix +++ b/pkgs/applications/kde/calendarsupport.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, kdepimTeam, fetchpatch, extra-cmake-modules, kdoctools, - akonadi, akonadi-calendar, akonadi-mime, akonadi-notes, kcalutils, kdepim-apps-libs, + akonadi, akonadi-calendar, akonadi-mime, akonadi-notes, kcalutils, kholidays, kidentitymanagement, kmime, pimcommon, qttools, }: @@ -11,16 +11,9 @@ mkDerivation { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; }; - patches = [ - # Patch for Qt 5.15.2 until version 20.12.0 - (fetchpatch { - url = "https://invent.kde.org/pim/calendarsupport/-/commit/b4193facb223bd5b73a65318dec8ced51b66adf7.patch"; - sha256 = "sha256:1da11rqbxxrl06ld3avc41p064arz4n6w5nxq8r008v8ws3s64dy"; - }) - ]; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ - akonadi akonadi-mime akonadi-notes kcalutils kdepim-apps-libs kholidays pimcommon qttools + akonadi akonadi-mime akonadi-notes kcalutils kholidays pimcommon qttools ]; propagatedBuildInputs = [ akonadi-calendar kidentitymanagement kmime ]; outputs = [ "out" "dev" ]; diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix index 33f392fdccc..b312a566a70 100644 --- a/pkgs/applications/kde/default.nix +++ b/pkgs/applications/kde/default.nix @@ -109,10 +109,9 @@ let kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {}; kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {}; kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {}; - kdenlive = callPackage ./kdenlive.nix {}; + kdenlive = callPackage ./kdenlive {}; kdepim-runtime = callPackage ./kdepim-runtime {}; kdepim-addons = callPackage ./kdepim-addons.nix {}; - kdepim-apps-libs = callPackage ./kdepim-apps-libs {}; kdf = callPackage ./kdf.nix {}; kdialog = callPackage ./kdialog.nix {}; kdiamond = callPackage ./kdiamond.nix {}; diff --git a/pkgs/applications/kde/dolphin.nix b/pkgs/applications/kde/dolphin.nix index 3774c7e00b6..a558ad26677 100644 --- a/pkgs/applications/kde/dolphin.nix +++ b/pkgs/applications/kde/dolphin.nix @@ -5,7 +5,7 @@ kcompletion, kconfig, kcoreaddons, kdelibs4support, kdbusaddons, kfilemetadata, ki18n, kiconthemes, kinit, kio, knewstuff, knotifications, kparts, ktexteditor, kwindowsystem, phonon, solid, - wayland, qtwayland + wayland, qtbase, qtwayland }: mkDerivation { @@ -13,6 +13,7 @@ mkDerivation { meta = { license = with lib.licenses; [ gpl2 fdl12 ]; maintainers = [ lib.maintainers.ttuegel ]; + broken = lib.versionOlder qtbase.version "5.14"; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; propagatedUserEnvPkgs = [ baloo ]; diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh index e3bba77f972..d659c551bd6 100644 --- a/pkgs/applications/kde/fetch.sh +++ b/pkgs/applications/kde/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( http://download.kde.org/stable/release-service/20.08.3/src -A '*.tar.xz' ) +WGET_ARGS=( http://download.kde.org/stable/release-service/20.12.1/src -A '*.tar.xz' ) diff --git a/pkgs/applications/kde/ffmpegthumbs.nix b/pkgs/applications/kde/ffmpegthumbs.nix index 2a8b82352b4..f19ee160984 100644 --- a/pkgs/applications/kde/ffmpegthumbs.nix +++ b/pkgs/applications/kde/ffmpegthumbs.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, - ffmpeg_3, kio + ffmpeg_3, kio, taglib }: mkDerivation { @@ -11,5 +11,5 @@ mkDerivation { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ ffmpeg_3 kio ]; + buildInputs = [ ffmpeg_3 kio taglib ]; } diff --git a/pkgs/applications/kde/filelight.nix b/pkgs/applications/kde/filelight.nix index 1aeff531862..95a89b01b8c 100644 --- a/pkgs/applications/kde/filelight.nix +++ b/pkgs/applications/kde/filelight.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, - kio, kparts, kxmlgui, qtscript, solid + kio, kparts, kxmlgui, qtbase, qtscript, solid }: mkDerivation { @@ -9,6 +9,7 @@ mkDerivation { meta = { license = with lib.licenses; [ gpl2 ]; maintainers = with lib.maintainers; [ fridh vcunat ]; + broken = lib.versionOlder qtbase.version "5.13"; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; propagatedBuildInputs = [ diff --git a/pkgs/applications/kde/incidenceeditor.nix b/pkgs/applications/kde/incidenceeditor.nix index 981c184d151..7f2c284ad74 100644 --- a/pkgs/applications/kde/incidenceeditor.nix +++ b/pkgs/applications/kde/incidenceeditor.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, kdepimTeam, extra-cmake-modules, kdoctools, - akonadi, akonadi-mime, calendarsupport, eventviews, kdepim-apps-libs, + akonadi, akonadi-mime, calendarsupport, eventviews, kdiagram, kldap, kmime, pimcommon, qtbase }: @@ -13,7 +13,7 @@ mkDerivation { }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ - akonadi akonadi-mime calendarsupport eventviews kdepim-apps-libs kdiagram + akonadi akonadi-mime calendarsupport eventviews kdiagram kldap kmime pimcommon qtbase ]; outputs = [ "out" "dev" ]; diff --git a/pkgs/applications/kde/kaddressbook.nix b/pkgs/applications/kde/kaddressbook.nix index 452c5142157..2672d815fb0 100644 --- a/pkgs/applications/kde/kaddressbook.nix +++ b/pkgs/applications/kde/kaddressbook.nix @@ -2,7 +2,7 @@ mkDerivation, lib, kdepimTeam, fetchpatch, extra-cmake-modules, kdoctools, akonadi, akonadi-search, grantlee, grantleetheme, kcmutils, kcompletion, - kcrash, kdbusaddons, kdepim-apps-libs, ki18n, kontactinterface, kparts, + kcrash, kdbusaddons, ki18n, kontactinterface, kparts, kpimtextedit, kxmlgui, libkdepim, libkleo, mailcommon, pimcommon, prison, qgpgme, qtbase, }: @@ -13,17 +13,10 @@ mkDerivation { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; }; - patches = [ - # Patch for Qt 5.15.2 until version 20.12.0 - (fetchpatch { - url = "https://invent.kde.org/pim/kaddressbook/-/commit/8aee8d40ae2a1c920d3520163d550d3b49720226.patch"; - sha256 = "sha256:0dsy119cd5w9khiwgk6fb7xnjzmj94rfphf327k331lf15zq4853"; - }) - ]; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ akonadi akonadi-search grantlee grantleetheme kcmutils kcompletion kcrash - kdbusaddons kdepim-apps-libs ki18n kontactinterface kparts kpimtextedit + kdbusaddons ki18n kontactinterface kparts kpimtextedit kxmlgui libkdepim libkleo mailcommon pimcommon prison qgpgme qtbase ]; } diff --git a/pkgs/applications/kde/kalarm.nix b/pkgs/applications/kde/kalarm.nix index 70ee3f74185..8709f26bd12 100644 --- a/pkgs/applications/kde/kalarm.nix +++ b/pkgs/applications/kde/kalarm.nix @@ -3,12 +3,13 @@ extra-cmake-modules, kauth, kcodecs, kcompletion, kconfig, kconfigwidgets, kdbusaddons, kdoctools, - kguiaddons, ki18n, kiconthemes, kjobwidgets, kcmutils, kdelibs4support, kio, - knotifications, kservice, kwidgetsaddons, kwindowsystem, kxmlgui, phonon, + kguiaddons, ki18n, kiconthemes, kidletime, kjobwidgets, kcmutils, + kdelibs4support, kio, knotifications, knotifyconfig, kservice, kwidgetsaddons, + kwindowsystem, kxmlgui, phonon, kimap, akonadi, akonadi-contacts, akonadi-mime, kalarmcal, kcalendarcore, kcalutils, kholidays, kidentitymanagement, libkdepim, mailcommon, kmailtransport, kmime, - pimcommon, kpimtextedit, kdepim-apps-libs, messagelib, + pimcommon, kpimtextedit, messagelib, qtx11extras, @@ -24,12 +25,13 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ kauth kcodecs kcompletion kconfig kconfigwidgets kdbusaddons kdoctools - kguiaddons ki18n kiconthemes kjobwidgets kcmutils kdelibs4support kio - knotifications kservice kwidgetsaddons kwindowsystem kxmlgui phonon + kguiaddons ki18n kiconthemes kidletime kjobwidgets kcmutils kdelibs4support + kio knotifications knotifyconfig kservice kwidgetsaddons kwindowsystem + kxmlgui phonon - kimap akonadi akonadi-contacts akonadi-mime kalarmcal kcalendarcore kcalutils - kholidays kidentitymanagement libkdepim mailcommon kmailtransport kmime - pimcommon kpimtextedit kdepim-apps-libs messagelib + kimap akonadi akonadi-contacts akonadi-mime kalarmcal kcalendarcore + kcalutils kholidays kidentitymanagement libkdepim mailcommon kmailtransport + kmime pimcommon kpimtextedit messagelib qtx11extras ]; diff --git a/pkgs/applications/kde/kdebugsettings.nix b/pkgs/applications/kde/kdebugsettings.nix index f4dd7ec145d..0287830485e 100644 --- a/pkgs/applications/kde/kdebugsettings.nix +++ b/pkgs/applications/kde/kdebugsettings.nix @@ -3,7 +3,7 @@ extra-cmake-modules, kdoctools, gettext, kcoreaddons, kconfig, kdbusaddons, kwidgetsaddons, kitemviews, kcompletion, - python + qtbase, python }: mkDerivation { @@ -11,6 +11,7 @@ mkDerivation { meta = { license = with lib.licenses; [ gpl2 ]; maintainers = [ lib.maintainers.rittelle ]; + broken = lib.versionOlder qtbase.version "5.13"; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ diff --git a/pkgs/applications/kde/kdenetwork-filesharing.nix b/pkgs/applications/kde/kdenetwork-filesharing.nix index 94656b02671..a7da03ffdd1 100644 --- a/pkgs/applications/kde/kdenetwork-filesharing.nix +++ b/pkgs/applications/kde/kdenetwork-filesharing.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, - kcoreaddons, ki18n, kio, kwidgetsaddons, samba + kcoreaddons, kdeclarative, ki18n, kio, kwidgetsaddons, samba, qtbase, }: mkDerivation { @@ -9,7 +9,8 @@ mkDerivation { meta = { license = [ lib.licenses.gpl2 lib.licenses.lgpl21 ]; maintainers = [ lib.maintainers.ttuegel ]; + broken = lib.versionOlder qtbase.version "5.13"; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kcoreaddons ki18n kio kwidgetsaddons samba ]; + buildInputs = [ kcoreaddons kdeclarative ki18n kio kwidgetsaddons samba ]; } diff --git a/pkgs/applications/kde/kdenlive.nix b/pkgs/applications/kde/kdenlive/default.nix index 47afcd0a67e..47afcd0a67e 100644 --- a/pkgs/applications/kde/kdenlive.nix +++ b/pkgs/applications/kde/kdenlive/default.nix diff --git a/pkgs/applications/kde/ffmpeg-path.patch b/pkgs/applications/kde/kdenlive/ffmpeg-path.patch index a0cef882f59..a0cef882f59 100644 --- a/pkgs/applications/kde/ffmpeg-path.patch +++ b/pkgs/applications/kde/kdenlive/ffmpeg-path.patch diff --git a/pkgs/applications/kde/mlt-path.patch b/pkgs/applications/kde/kdenlive/mlt-path.patch index 9bfb66c1a83..9bfb66c1a83 100644 --- a/pkgs/applications/kde/mlt-path.patch +++ b/pkgs/applications/kde/kdenlive/mlt-path.patch diff --git a/pkgs/applications/kde/kdepim-addons.nix b/pkgs/applications/kde/kdepim-addons.nix index 0939b0ecd26..42532644a1a 100644 --- a/pkgs/applications/kde/kdepim-addons.nix +++ b/pkgs/applications/kde/kdepim-addons.nix @@ -3,7 +3,7 @@ extra-cmake-modules, shared-mime-info, akonadi-import-wizard, akonadi-notes, calendarsupport, eventviews, incidenceeditor, kcalendarcore, kcalutils, kconfig, kdbusaddons, kdeclarative, - kdepim-apps-libs, kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar, + kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar, libksieve, mailcommon, mailimporter, messagelib, poppler, prison, kpkpass, kitinerary, kontactinterface }: @@ -18,7 +18,7 @@ mkDerivation { buildInputs = [ akonadi-import-wizard akonadi-notes calendarsupport eventviews incidenceeditor kcalendarcore kcalutils kconfig kdbusaddons kdeclarative - kdepim-apps-libs kholidays ki18n kmime ktexteditor ktnef libgravatar + kholidays ki18n kmime ktexteditor ktnef libgravatar libksieve mailcommon mailimporter messagelib poppler prison kpkpass kitinerary kontactinterface ]; diff --git a/pkgs/applications/kde/kdepim-apps-libs/default.nix b/pkgs/applications/kde/kdepim-apps-libs/default.nix deleted file mode 100644 index 19f476fd781..00000000000 --- a/pkgs/applications/kde/kdepim-apps-libs/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-contacts, grantlee, grantleetheme, kconfig, kconfigwidgets, - kcontacts, ki18n, kiconthemes, kio, libkleo, pimcommon, prison, -}: - -mkDerivation { - pname = "kdepim-apps-libs"; - meta = { - license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; - maintainers = kdepimTeam; - }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ - akonadi akonadi-contacts grantlee grantleetheme kconfig kconfigwidgets - kcontacts ki18n kiconthemes kio libkleo pimcommon prison - ]; - outputs = [ "out" "dev" ]; -} diff --git a/pkgs/applications/kde/kmail.nix b/pkgs/applications/kde/kmail.nix index fa3fe033035..e742f566678 100644 --- a/pkgs/applications/kde/kmail.nix +++ b/pkgs/applications/kde/kmail.nix @@ -2,7 +2,7 @@ mkDerivation, lib, kdepimTeam, extra-cmake-modules, kdoctools, akonadi-search, kbookmarks, kcalutils, kcmutils, kcompletion, kconfig, - kconfigwidgets, kcoreaddons, kdelibs4support, kdepim-apps-libs, libkdepim, + kconfigwidgets, kcoreaddons, kdelibs4support, libkdepim, kdepim-runtime, kguiaddons, ki18n, kiconthemes, kinit, kio, kldap, kmail-account-wizard, kmailtransport, knotifications, knotifyconfig, kontactinterface, kparts, kpty, kservice, ktextwidgets, ktnef, kwallet, @@ -19,7 +19,7 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ akonadi-search kbookmarks kcalutils kcmutils kcompletion kconfig - kconfigwidgets kcoreaddons kdelibs4support kdepim-apps-libs kguiaddons ki18n + kconfigwidgets kcoreaddons kdelibs4support kguiaddons ki18n kiconthemes kinit kio kldap kmail-account-wizard kmailtransport libkdepim knotifications knotifyconfig kontactinterface kparts kpty kservice ktextwidgets ktnef kwidgetsaddons kwindowsystem kxmlgui libgravatar diff --git a/pkgs/applications/kde/kompare.nix b/pkgs/applications/kde/kompare.nix index a449a1e4f51..d4d49c6a942 100644 --- a/pkgs/applications/kde/kompare.nix +++ b/pkgs/applications/kde/kompare.nix @@ -12,15 +12,5 @@ mkDerivation { buildInputs = [ kiconthemes kparts ktexteditor kwidgetsaddons libkomparediff2 ]; - - patches = [ - (fetchpatch { - # Portaway from Obsolete methods of QPrinter - # Part of v20.12.0 - url = "https://invent.kde.org/sdk/kompare/-/commit/68d3eee36c48a2f44ccfd3f9e5a36311b829104b.patch"; - sha256 = "B2i5n5cUDjCqTEF0OyTb1+LhPa5yWCnFycwijf35kwU="; - }) - ]; - outputs = [ "out" "dev" ]; } diff --git a/pkgs/applications/kde/konqueror.nix b/pkgs/applications/kde/konqueror.nix index 72fcf8ff220..eb188ccef11 100644 --- a/pkgs/applications/kde/konqueror.nix +++ b/pkgs/applications/kde/konqueror.nix @@ -2,7 +2,7 @@ , mkDerivation , extra-cmake-modules, kdoctools , kdelibs4support, kcmutils, khtml, kdesu -, qtwebkit, qtwebengine, qtx11extras, qtscript, qtwayland +, qtbase, qtwebkit, qtwebengine, qtx11extras, qtscript, qtwayland }: mkDerivation { @@ -24,5 +24,6 @@ mkDerivation { meta = { license = with lib.licenses; [ gpl2 ]; maintainers = with lib.maintainers; [ ]; + broken = lib.versionOlder qtbase.version "5.13"; }; } diff --git a/pkgs/applications/kde/kontact.nix b/pkgs/applications/kde/kontact.nix index 3dfa28e9dfe..801c6845e40 100644 --- a/pkgs/applications/kde/kontact.nix +++ b/pkgs/applications/kde/kontact.nix @@ -3,7 +3,7 @@ extra-cmake-modules, kdoctools, qtwebengine, kcmutils, kcrash, kdbusaddons, kparts, kwindowsystem, - akonadi, grantleetheme, kdepim-apps-libs, kontactinterface, kpimtextedit, + akonadi, grantleetheme, kontactinterface, kpimtextedit, mailcommon, libkdepim, pimcommon }: @@ -17,7 +17,7 @@ mkDerivation { buildInputs = [ qtwebengine kcmutils kcrash kdbusaddons kparts kwindowsystem - akonadi grantleetheme kdepim-apps-libs kontactinterface kpimtextedit + akonadi grantleetheme kontactinterface kpimtextedit mailcommon libkdepim pimcommon ]; } diff --git a/pkgs/applications/kde/korganizer.nix b/pkgs/applications/kde/korganizer.nix index f28e0406b13..a6a28427772 100644 --- a/pkgs/applications/kde/korganizer.nix +++ b/pkgs/applications/kde/korganizer.nix @@ -5,7 +5,7 @@ phonon, knewstuff, akonadi-calendar, akonadi-contacts, akonadi-notes, akonadi-search, - calendarsupport, eventviews, incidenceeditor, kcalutils, kdepim-apps-libs, + calendarsupport, eventviews, incidenceeditor, kcalutils, kholidays, kidentitymanagement, kldap, kmailtransport, kontactinterface, kpimtextedit, pimcommon, }: @@ -22,7 +22,7 @@ mkDerivation { phonon knewstuff akonadi-calendar akonadi-contacts akonadi-notes akonadi-search - calendarsupport eventviews incidenceeditor kcalutils kdepim-apps-libs + calendarsupport eventviews incidenceeditor kcalutils kholidays kidentitymanagement kldap kmailtransport kontactinterface kpimtextedit pimcommon ]; diff --git a/pkgs/applications/kde/kpat.nix b/pkgs/applications/kde/kpat.nix index d1e47af6b72..96bd6dd542e 100644 --- a/pkgs/applications/kde/kpat.nix +++ b/pkgs/applications/kde/kpat.nix @@ -5,6 +5,7 @@ , shared-mime-info , libkdegames , freecell-solver +, black-hole-solver }: mkDerivation { @@ -14,6 +15,7 @@ mkDerivation { shared-mime-info ]; buildInputs = [ + black-hole-solver knewstuff libkdegames freecell-solver diff --git a/pkgs/applications/kde/krdc.nix b/pkgs/applications/kde/krdc.nix index 01cc39d9895..b0e79b0ff89 100644 --- a/pkgs/applications/kde/krdc.nix +++ b/pkgs/applications/kde/krdc.nix @@ -2,7 +2,7 @@ mkDerivation, lib, extra-cmake-modules, kdoctools, makeWrapper, kcmutils, kcompletion, kconfig, kdnssd, knotifyconfig, kwallet, kwidgetsaddons, - kwindowsystem, libvncserver, freerdp + kwindowsystem, libvncserver, freerdp, qtbase, }: mkDerivation { @@ -21,5 +21,6 @@ mkDerivation { license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ]; maintainers = with maintainers; [ peterhoeg ]; platforms = platforms.linux; + broken = lib.versionOlder qtbase.version "5.14"; }; } diff --git a/pkgs/applications/kde/messagelib.nix b/pkgs/applications/kde/messagelib.nix index d47a5504417..6709a1f072a 100644 --- a/pkgs/applications/kde/messagelib.nix +++ b/pkgs/applications/kde/messagelib.nix @@ -3,7 +3,7 @@ extra-cmake-modules, kdoctools, akonadi, akonadi-mime, akonadi-notes, akonadi-search, gpgme, grantlee, grantleetheme, karchive, kcodecs, kconfig, kconfigwidgets, kcontacts, - kdepim-apps-libs, kiconthemes, kidentitymanagement, kio, kjobwidgets, kldap, + kiconthemes, kidentitymanagement, kio, kjobwidgets, kldap, kmailtransport, kmbox, kmime, kwindowsystem, libgravatar, libkdepim, libkleo, pimcommon, qca-qt5, qtwebengine, syntax-highlighting }: @@ -17,7 +17,7 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ akonadi-notes akonadi-search gpgme grantlee grantleetheme karchive kcodecs - kconfig kconfigwidgets kdepim-apps-libs kiconthemes kio kjobwidgets kldap + kconfig kconfigwidgets kiconthemes kio kjobwidgets kldap kmailtransport kmbox kmime kwindowsystem libgravatar libkdepim qca-qt5 syntax-highlighting ]; diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix index 5ff13eaf240..f78d29db6bc 100644 --- a/pkgs/applications/kde/srcs.nix +++ b/pkgs/applications/kde/srcs.nix @@ -4,1731 +4,1795 @@ { akonadi = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/akonadi-20.08.3.tar.xz"; - sha256 = "1hwaan45cyw2nmfmdp5pbhvm00xdxy9la68ms3sa8a67zcsfljhl"; - name = "akonadi-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/akonadi-20.12.1.tar.xz"; + sha256 = "1173365c84fq5vn58blsmbdp9x34gf2yrwvsi89i0l7xhpz8zx5k"; + name = "akonadi-20.12.1.tar.xz"; }; }; akonadi-calendar = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/akonadi-calendar-20.08.3.tar.xz"; - sha256 = "18rwvn5i6i4ng335rxpwx3a2m4vyq96w9m3fa1gvmr8ls7vkaqrk"; - name = "akonadi-calendar-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/akonadi-calendar-20.12.1.tar.xz"; + sha256 = "0zzy4f03zypj4crjy0fhk5xjgipflal3gpfibav2wcmgx034znw5"; + name = "akonadi-calendar-20.12.1.tar.xz"; }; }; akonadi-calendar-tools = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/akonadi-calendar-tools-20.08.3.tar.xz"; - sha256 = "1pnm3xi26bnbjmnv9zwi9w5rkr1pdry50hzy3gxw7b0g11zz036w"; - name = "akonadi-calendar-tools-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/akonadi-calendar-tools-20.12.1.tar.xz"; + sha256 = "1x5zmv32iaf17n9b8y034yhwq0dhwjwxw3i5cj97k4dpyar5s72q"; + name = "akonadi-calendar-tools-20.12.1.tar.xz"; }; }; akonadiconsole = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/akonadiconsole-20.08.3.tar.xz"; - sha256 = "061r0p9pj22x0hiz6piz4vramll3w5xy92sx8nfhcp2gmnvj9890"; - name = "akonadiconsole-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/akonadiconsole-20.12.1.tar.xz"; + sha256 = "0rf7ckra0yjkwspmd4401lssiss2p8qrw9rd6j5gbw7kii05bcmz"; + name = "akonadiconsole-20.12.1.tar.xz"; }; }; akonadi-contacts = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/akonadi-contacts-20.08.3.tar.xz"; - sha256 = "18n9x41fmh4q9q9lfv882iwk6j1hvgpl11y4qn873vwr9sdrcf4s"; - name = "akonadi-contacts-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/akonadi-contacts-20.12.1.tar.xz"; + sha256 = "0gxcs8nn07y6ln5ymsbdhcm63zqxcq2ja2sxziim65bfg9g85arl"; + name = "akonadi-contacts-20.12.1.tar.xz"; }; }; akonadi-import-wizard = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/akonadi-import-wizard-20.08.3.tar.xz"; - sha256 = "0gny0rxvyks5w4rdb73ly06lyvz7kcfvff1268bn6i96xr83kmim"; - name = "akonadi-import-wizard-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/akonadi-import-wizard-20.12.1.tar.xz"; + sha256 = "1wdhgvv2zblyhcxrvby7ic3449hdmcnn3hvcswgwrgbcy4bzz7zz"; + name = "akonadi-import-wizard-20.12.1.tar.xz"; }; }; akonadi-mime = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/akonadi-mime-20.08.3.tar.xz"; - sha256 = "12ps633y64mj72iryd9z2nmrf7lxbkqj7xnzj28549cvg6jizgl7"; - name = "akonadi-mime-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/akonadi-mime-20.12.1.tar.xz"; + sha256 = "1xsrc8572zlslabn47km58sr48wdb0pmfrh3jbn9227w9iwir3z5"; + name = "akonadi-mime-20.12.1.tar.xz"; }; }; akonadi-notes = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/akonadi-notes-20.08.3.tar.xz"; - sha256 = "1z90r37lqc7ydmily730idd4s8rcbr6i3a8x9m647snbala16z36"; - name = "akonadi-notes-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/akonadi-notes-20.12.1.tar.xz"; + sha256 = "15d23wm0kymifcxcbip0hpnzwmzdjwxmcvqvmwgq00vy81j6k7wm"; + name = "akonadi-notes-20.12.1.tar.xz"; }; }; akonadi-search = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/akonadi-search-20.08.3.tar.xz"; - sha256 = "0izpkvjybp6r79rai0p5j74bm0f8ksgsl3z34ggb51j6vj9rla7h"; - name = "akonadi-search-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/akonadi-search-20.12.1.tar.xz"; + sha256 = "065qp3nf8274fh0bna8hjs28p030wgfnr3gnp7b2791kzp25l488"; + name = "akonadi-search-20.12.1.tar.xz"; }; }; akregator = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/akregator-20.08.3.tar.xz"; - sha256 = "1gqh820s5by3r9lz7r16r0krh916idsks6sgy26hcrwfmva45wn5"; - name = "akregator-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/akregator-20.12.1.tar.xz"; + sha256 = "0xs5adbq9ra0ziccl1z0nsm6kvrf8vjwa8djd3nwc2csjw8wim5k"; + name = "akregator-20.12.1.tar.xz"; }; }; analitza = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/analitza-20.08.3.tar.xz"; - sha256 = "16s6kjyclj73lq8z8mvrbsl75h1nrnv7syp6wpip6gvfs5ynai90"; - name = "analitza-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/analitza-20.12.1.tar.xz"; + sha256 = "1qnqqbrjpzndbffjwqlyfqmxxxz04fi3i2g8dx6y8q79z927fzkd"; + name = "analitza-20.12.1.tar.xz"; }; }; ark = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ark-20.08.3.tar.xz"; - sha256 = "03kwjp2nj570k9ph8bgj042sjj4x0h9jwv8nwx0pfpcxkgxv5pzy"; - name = "ark-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ark-20.12.1.tar.xz"; + sha256 = "18zaaawwhlci23hkzjl535qsi8wdjc05hij3r76225jb1jb6cwrm"; + name = "ark-20.12.1.tar.xz"; }; }; artikulate = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/artikulate-20.08.3.tar.xz"; - sha256 = "0bx97qi6zi7jmlzm3g7qamnzg0966g4w9xpskbxbr4cgjr312x19"; - name = "artikulate-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/artikulate-20.12.1.tar.xz"; + sha256 = "1cvpya408r521p9398mk0xn8pb6awqm74qcjy2r0ylx0l6bkv3ca"; + name = "artikulate-20.12.1.tar.xz"; }; }; audiocd-kio = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/audiocd-kio-20.08.3.tar.xz"; - sha256 = "01n4nyda7l7by1nyx2sgxdl8qkdfndk0w6hj0qc6a7fllcfj5cpb"; - name = "audiocd-kio-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/audiocd-kio-20.12.1.tar.xz"; + sha256 = "1rlr1w0cy3q31jsaqiv50frqcl3x5jq31pnrkmyhgy23mays8ly1"; + name = "audiocd-kio-20.12.1.tar.xz"; }; }; baloo-widgets = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/baloo-widgets-20.08.3.tar.xz"; - sha256 = "0ciidrsvwc3ppxhw7w5116q4lfbsvij9jsvyzm292pmjln2vikrg"; - name = "baloo-widgets-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/baloo-widgets-20.12.1.tar.xz"; + sha256 = "115y0cdlsdzx6c017gr8x6in9jxyw0sqyamakqgfyy5phn203yr3"; + name = "baloo-widgets-20.12.1.tar.xz"; }; }; blinken = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/blinken-20.08.3.tar.xz"; - sha256 = "1gfw0w66nm3sx81bnr0p0yz1bhjj63lvd3cr86x3b2pny5rcw1da"; - name = "blinken-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/blinken-20.12.1.tar.xz"; + sha256 = "05dbmh1lk1ag735yiv7vql6fx15lw9a3qihxflzhbfrgng7dsxks"; + name = "blinken-20.12.1.tar.xz"; }; }; bomber = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/bomber-20.08.3.tar.xz"; - sha256 = "1nw1a9cf0nqgk00hvzcqch3bl97lx6bih0wsax5q0z1kzwlz0kgr"; - name = "bomber-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/bomber-20.12.1.tar.xz"; + sha256 = "07iy6b8hwklb5mgrf8sagmrza78p3yf7i4x7w9lb2z9v2x5qw22y"; + name = "bomber-20.12.1.tar.xz"; }; }; bovo = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/bovo-20.08.3.tar.xz"; - sha256 = "06pbivyvfgjx6zkadvwfwnrg9vjy4rf52k2a74qjcnl2ms16sr1g"; - name = "bovo-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/bovo-20.12.1.tar.xz"; + sha256 = "1wrw81xrayhjadvjfi0zdc0vw445f4zmd32n0rca78i68ls5qbxv"; + name = "bovo-20.12.1.tar.xz"; }; }; calendarsupport = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/calendarsupport-20.08.3.tar.xz"; - sha256 = "09w06n745764fs440nh0piy5sahfn50kh3zrljhgzadcij6165vd"; - name = "calendarsupport-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/calendarsupport-20.12.1.tar.xz"; + sha256 = "1accj2vx6zvqp632i5c85q4rzpg54xlihzf1rs80sdb9lch8nwrp"; + name = "calendarsupport-20.12.1.tar.xz"; }; }; cantor = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/cantor-20.08.3.tar.xz"; - sha256 = "1njqycx0v3zq5mdcvfdfgxs8vgl01v80s27qgapsxxrgr9hgxbhl"; - name = "cantor-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/cantor-20.12.1.tar.xz"; + sha256 = "1qj6lmcgmqr110qw2r906b0kp73f9gzvm75ry1gdb77bza5g67x2"; + name = "cantor-20.12.1.tar.xz"; }; }; cervisia = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/cervisia-20.08.3.tar.xz"; - sha256 = "1bsc72kxcmzx25408ngzqzj4a0168vqfr3a2gvmm6d8klbgpm3gv"; - name = "cervisia-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/cervisia-20.12.1.tar.xz"; + sha256 = "0hnpysp01z5a3gmm2jr2m1y7a5hcfl32lhmnrm0rg589pdxb30xf"; + name = "cervisia-20.12.1.tar.xz"; }; }; dolphin = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/dolphin-20.08.3.tar.xz"; - sha256 = "107n763qix95b1hgy86hddpj9x2clzhaiw8q8yjn9lzj1rz5facx"; - name = "dolphin-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/dolphin-20.12.1.tar.xz"; + sha256 = "0n2g8mqq28xrjy17jyja4siaf2ac2b8gppqc19wjxn981zs545mp"; + name = "dolphin-20.12.1.tar.xz"; }; }; dolphin-plugins = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/dolphin-plugins-20.08.3.tar.xz"; - sha256 = "0fmay0sycfj9s7zyxbldgcal5lj2psi0n9zrgq812s5qr4rb5c8c"; - name = "dolphin-plugins-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/dolphin-plugins-20.12.1.tar.xz"; + sha256 = "0kn79c3w6qx70d7f8kdavl5ifq1pmcs4dc88i0zma8hskgvcjvcj"; + name = "dolphin-plugins-20.12.1.tar.xz"; }; }; dragon = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/dragon-20.08.3.tar.xz"; - sha256 = "14qsb7h8w58i9jsh1gpcj8pwjgy7y3mqfy51hca82yrd82z5b9rn"; - name = "dragon-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/dragon-20.12.1.tar.xz"; + sha256 = "0nj2cba4w7q4q1w7lv63s9zgqrvha5figp5w9apklqps4z1d2p0s"; + name = "dragon-20.12.1.tar.xz"; }; }; elisa = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/elisa-20.08.3.tar.xz"; - sha256 = "0893nbj0jsapnfd09cp961k2m7lq6sjvzynpa4hfp9ch1jbc912c"; - name = "elisa-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/elisa-20.12.1.tar.xz"; + sha256 = "1lmgxi7xdyzjyi15ighkp2ylc6riqzgjmnfjc7p6na88vl2h2diy"; + name = "elisa-20.12.1.tar.xz"; }; }; eventviews = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/eventviews-20.08.3.tar.xz"; - sha256 = "158j5g3i0wbbxpg9jmr50dvbpms4c4vgcnpmn3b3vfbszzwsy6rg"; - name = "eventviews-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/eventviews-20.12.1.tar.xz"; + sha256 = "10nq8gx1bybhjx5dnrx2x5gslg8nw3vazy22jz03slgspm0gsajc"; + name = "eventviews-20.12.1.tar.xz"; }; }; ffmpegthumbs = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ffmpegthumbs-20.08.3.tar.xz"; - sha256 = "186hpq949r3xx2a64nqjy4pcn67d6kdvsy80zr238lgb9qqcqygi"; - name = "ffmpegthumbs-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ffmpegthumbs-20.12.1.tar.xz"; + sha256 = "17p9xqyfsaibhkfkhbx9mxjkdl5xdc3h91gsrkkwkqyfa5vs9c5g"; + name = "ffmpegthumbs-20.12.1.tar.xz"; }; }; filelight = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/filelight-20.08.3.tar.xz"; - sha256 = "1jljsnjdhnqphh1kanj6hi2rswq3i9119iah1j33jy5pladcyf5q"; - name = "filelight-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/filelight-20.12.1.tar.xz"; + sha256 = "0k7ia3q1j520n3i1va7v4nhdfycxv54sis6vq62ihm53kb0jrj4i"; + name = "filelight-20.12.1.tar.xz"; }; }; granatier = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/granatier-20.08.3.tar.xz"; - sha256 = "195bc2rcz11v76c0cwa9mb7rfixjn7sb0a52wrzz0sf9624m0rcs"; - name = "granatier-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/granatier-20.12.1.tar.xz"; + sha256 = "0mhqjg0wznvf1dc7f9dmw6ccva84g09cds2jls37zzblqbfdnzw3"; + name = "granatier-20.12.1.tar.xz"; }; }; grantlee-editor = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/grantlee-editor-20.08.3.tar.xz"; - sha256 = "1k2rdicd68jdk3pazyn3q0vj99n0vnkpzkrnacpymkjy85cjgrv9"; - name = "grantlee-editor-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/grantlee-editor-20.12.1.tar.xz"; + sha256 = "1684k6gpmvbbxjha5qkvfvas2lws0zm5v5s41z6yjxyshrbc29jh"; + name = "grantlee-editor-20.12.1.tar.xz"; }; }; grantleetheme = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/grantleetheme-20.08.3.tar.xz"; - sha256 = "07b7v5v2vyz3vyj1jjzryzaak8bbqg8a2caxwb6s7cwhy19y6my5"; - name = "grantleetheme-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/grantleetheme-20.12.1.tar.xz"; + sha256 = "1w87pz09lb3n511w0qir70c317j4gqgc7iyw3cgs2pqzz9f19vcx"; + name = "grantleetheme-20.12.1.tar.xz"; }; }; gwenview = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/gwenview-20.08.3.tar.xz"; - sha256 = "09mwp3z97hgd7c15w0hz8k61qn5icb81rj27nxzy877ph1xnrixc"; - name = "gwenview-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/gwenview-20.12.1.tar.xz"; + sha256 = "0xjipr1ib8r42xsd75ack2198q6gf3xxl1zc9ir2ihdk3sg6lsb1"; + name = "gwenview-20.12.1.tar.xz"; }; }; incidenceeditor = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/incidenceeditor-20.08.3.tar.xz"; - sha256 = "15kkl8z1nig9qyxfrq54c3sqh1xs1lzlbm5rphj34y0yb8dbn8kx"; - name = "incidenceeditor-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/incidenceeditor-20.12.1.tar.xz"; + sha256 = "1hdyy1sisavxjhwgpxh4ab4a3cvsvjj6hfa9w8kn8ypipd6nmqac"; + name = "incidenceeditor-20.12.1.tar.xz"; + }; + }; + itinerary = { + version = "20.12.1"; + src = fetchurl { + url = "${mirror}/stable/release-service/20.12.1/src/itinerary-20.12.1.tar.xz"; + sha256 = "02mmbj32ankv06mlgdrfyppkfi1dkgy9ky22d6bnz3l1vyld76s9"; + name = "itinerary-20.12.1.tar.xz"; }; }; juk = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/juk-20.08.3.tar.xz"; - sha256 = "1jvj0r4grm55cnck4apnh4fh44mv1ycm0pprrkh57iwj1dlf7kif"; - name = "juk-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/juk-20.12.1.tar.xz"; + sha256 = "0rx4dmnk15xrf9knwsvjmf963xn59rlzwwsa6wrjjpi8r6br8x4r"; + name = "juk-20.12.1.tar.xz"; }; }; k3b = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/k3b-20.08.3.tar.xz"; - sha256 = "0qg2p6gdg0clgv6qab5vr0i451m9hqqmpwq335w8m9nwb6wg30cx"; - name = "k3b-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/k3b-20.12.1.tar.xz"; + sha256 = "02ybzn8gg82r7i7rg8swyza30zwsf3fassmp6hqffn15g4kc2lrp"; + name = "k3b-20.12.1.tar.xz"; }; }; kaccounts-integration = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kaccounts-integration-20.08.3.tar.xz"; - sha256 = "006cglw5ai274a1r5jbk109mdrvw8v6fp3cdyi1kbrq7lp3123a2"; - name = "kaccounts-integration-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kaccounts-integration-20.12.1.tar.xz"; + sha256 = "01xy3ih2fw4xnf5jkadrbq1dzmvvvrslbq4afj9501vhzyfqgm92"; + name = "kaccounts-integration-20.12.1.tar.xz"; }; }; kaccounts-providers = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kaccounts-providers-20.08.3.tar.xz"; - sha256 = "1vpv366bzj0sk7dqyxrq06a8ixgaaqi125mf2gmybvhj5yvrn3fp"; - name = "kaccounts-providers-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kaccounts-providers-20.12.1.tar.xz"; + sha256 = "1f3gr63jwm7b8nkpdmpkgvsrhrpaxf7wcl0gczhdli1v6svjv8vq"; + name = "kaccounts-providers-20.12.1.tar.xz"; }; }; kaddressbook = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kaddressbook-20.08.3.tar.xz"; - sha256 = "00mia1jh2c5rcnsyx3wizjdg65pvpazfb8ayppjzv4rrc2nhr9nn"; - name = "kaddressbook-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kaddressbook-20.12.1.tar.xz"; + sha256 = "0j6mjj902h5zpipywp5xhbifrbgrb1lz1cg317md7ya4wc7z36fp"; + name = "kaddressbook-20.12.1.tar.xz"; }; }; kajongg = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kajongg-20.08.3.tar.xz"; - sha256 = "0wr045xqm1q03vy0jbgrldpdc9k3lgnhd39yhi574la367ayffpa"; - name = "kajongg-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kajongg-20.12.1.tar.xz"; + sha256 = "0v9sq5l6w3x78dpimdlbm36g9n4qy06xr0bzfzn2jf3bzgzrn2zk"; + name = "kajongg-20.12.1.tar.xz"; }; }; kalarm = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kalarm-20.08.3.tar.xz"; - sha256 = "0194rapyvnpmhkba0rgclrai1ywx9anr8dski0j6z1yg0kgav8df"; - name = "kalarm-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kalarm-20.12.1.tar.xz"; + sha256 = "0k4fxrzxb6vvpdqlln4g7iz1s34d9jkk415c44f1i34kl2mfsyq0"; + name = "kalarm-20.12.1.tar.xz"; }; }; kalarmcal = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kalarmcal-20.08.3.tar.xz"; - sha256 = "1i9hi3y4j2pmdmlj13kl13vfplxrh8w23fxz0mmawi1wn533fp66"; - name = "kalarmcal-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kalarmcal-20.12.1.tar.xz"; + sha256 = "104fbq2mf20p67rs7x76h36qk8d0srkkll2pq39ln4hc7nhsrws5"; + name = "kalarmcal-20.12.1.tar.xz"; }; }; kalgebra = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kalgebra-20.08.3.tar.xz"; - sha256 = "0k7miil5ilrw68j6xl9g6cf3zfw7g52h0gfwd5j248nx2nxr150c"; - name = "kalgebra-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kalgebra-20.12.1.tar.xz"; + sha256 = "10y9zygpik418y5781xmy5xysvf3xa97sbzdbch8lrvxwprbmkzm"; + name = "kalgebra-20.12.1.tar.xz"; }; }; kalzium = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kalzium-20.08.3.tar.xz"; - sha256 = "1r80bnpdrybsdwcblpj7cg32dv90l79gs0i42gpm6inilfr3vp5n"; - name = "kalzium-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kalzium-20.12.1.tar.xz"; + sha256 = "1n1ar12zq2maa4dn5yq7m6l3m60n7c98c460mrd6rp7f73kadnsj"; + name = "kalzium-20.12.1.tar.xz"; }; }; kamera = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kamera-20.08.3.tar.xz"; - sha256 = "06fwxdgbyywdrf1r0w17w3chfr0s8jhqswz9chmdfds9f2bb45cr"; - name = "kamera-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kamera-20.12.1.tar.xz"; + sha256 = "1bj01d9h26ifq8nsa1bw49xfihmisnbk7p557zpqvixxayq6v8dq"; + name = "kamera-20.12.1.tar.xz"; }; }; kamoso = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kamoso-20.08.3.tar.xz"; - sha256 = "0zhl3va65ajz3hdggg0jvvgvj14s461pjw9adw9bnfcbs4jzkl2y"; - name = "kamoso-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kamoso-20.12.1.tar.xz"; + sha256 = "087m9lphj6s0xssaryyh91gh9v3ji5423rjd549dkd3vscgda4lb"; + name = "kamoso-20.12.1.tar.xz"; }; }; kanagram = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kanagram-20.08.3.tar.xz"; - sha256 = "1cyx8yq03xaw34ic69ghz9gafk8l30qinp0kkp9a1wh4pry8rnxf"; - name = "kanagram-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kanagram-20.12.1.tar.xz"; + sha256 = "0bflybrm3kz1p1n6fksihvd8m0h0jj968b2wjz88663bs48jqf6q"; + name = "kanagram-20.12.1.tar.xz"; }; }; kapman = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kapman-20.08.3.tar.xz"; - sha256 = "0nh1f0v026rib5ahj1mhvs99yabrgdq71bis465vfpm4favnirzy"; - name = "kapman-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kapman-20.12.1.tar.xz"; + sha256 = "1hs88q4h5l58fvr09vb5ns9pdj4k064ax5ccnj9yan4bn0s9b4f9"; + name = "kapman-20.12.1.tar.xz"; }; }; kapptemplate = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kapptemplate-20.08.3.tar.xz"; - sha256 = "1r98ym9sazjzknxfw58hjiyxhmi49fyhrdn02v0b8fm711vprxab"; - name = "kapptemplate-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kapptemplate-20.12.1.tar.xz"; + sha256 = "1a8fpwbvs2zmmak7zyv75z67ja31vx68s9lz9vldmiik9rrslyy6"; + name = "kapptemplate-20.12.1.tar.xz"; }; }; kate = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kate-20.08.3.tar.xz"; - sha256 = "1m7ximinknc0l9zqv4p25ybn6zysz59l4vvdb9xkhjp53aqskdz9"; - name = "kate-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kate-20.12.1.tar.xz"; + sha256 = "13m24b3fxb1d1k9rg2xfa7i28cjx68g9dbjrbd34acmpg01vp6vk"; + name = "kate-20.12.1.tar.xz"; }; }; katomic = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/katomic-20.08.3.tar.xz"; - sha256 = "1v31x6371r9ccvc676vq5dlpkp4829xf0r37dnvdxlfm22mgsdnk"; - name = "katomic-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/katomic-20.12.1.tar.xz"; + sha256 = "15s5kwddd1m9g5lhpc61bj6yzxpwzcc8fm24yhslb8l44nk685id"; + name = "katomic-20.12.1.tar.xz"; }; }; kbackup = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kbackup-20.08.3.tar.xz"; - sha256 = "1sayzvj46ckhn5zgp7qi6zmrmd7bjh5mg05mcl5pfwv4dcvxkrng"; - name = "kbackup-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kbackup-20.12.1.tar.xz"; + sha256 = "043dkgpdk56jmx0z8izlgj8r9j8h9rvjc3yalpqd5nrlgmj0smym"; + name = "kbackup-20.12.1.tar.xz"; }; }; kblackbox = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kblackbox-20.08.3.tar.xz"; - sha256 = "0vka2pswbza1z8f97nhxcjrczx4w1x0qyjpzs9ycn9a14smqpsrh"; - name = "kblackbox-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kblackbox-20.12.1.tar.xz"; + sha256 = "001yf4j14xzpabwg37yisls5na9rpxpgs45d4wdlqa90d50syzl7"; + name = "kblackbox-20.12.1.tar.xz"; }; }; kblocks = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kblocks-20.08.3.tar.xz"; - sha256 = "1jc063xn6dphydf49kv0izzy0nv06dr412xxjvkp7vccwv9qd5gf"; - name = "kblocks-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kblocks-20.12.1.tar.xz"; + sha256 = "029dxqg2d6c08r99ng16lc3b1dnnrj5bpz25zgv90aygzx31qq4s"; + name = "kblocks-20.12.1.tar.xz"; }; }; kbounce = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kbounce-20.08.3.tar.xz"; - sha256 = "0863vlirljvf101mdv6jxprj9axs4cikrnld3wvxrcqw3w2dy6wy"; - name = "kbounce-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kbounce-20.12.1.tar.xz"; + sha256 = "1vdc7xhbh0wpvk66sqs0xly0mmbpw922vg4kjjn21awamv4r52pm"; + name = "kbounce-20.12.1.tar.xz"; }; }; kbreakout = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kbreakout-20.08.3.tar.xz"; - sha256 = "14nd1dnbdyxv59y8iildhydhxgal38hvj7bk6544glwl8yalak8z"; - name = "kbreakout-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kbreakout-20.12.1.tar.xz"; + sha256 = "11bx32lffagmyvxx2wss794fy3icz9k5yq4mjs2qxpf9pyvg6qgd"; + name = "kbreakout-20.12.1.tar.xz"; }; }; kbruch = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kbruch-20.08.3.tar.xz"; - sha256 = "03s1hl4h8rsx0gn7wqfssi1ga4igx48jb47gpw6f9rfjm8f199vb"; - name = "kbruch-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kbruch-20.12.1.tar.xz"; + sha256 = "06sbr6wrn4nh69hq96i5rgzbr9g0rc6c54h9g2zpnpff339lnsqi"; + name = "kbruch-20.12.1.tar.xz"; }; }; kcachegrind = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kcachegrind-20.08.3.tar.xz"; - sha256 = "17j06z9cpj5qhfbp1xgw4qmhi4jckf2i99c9brys4ifb3p0rkbrs"; - name = "kcachegrind-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kcachegrind-20.12.1.tar.xz"; + sha256 = "0v06y1mybda4rmvjrjxhmxp7bj0wp6v45xahn08j253d20k7qixi"; + name = "kcachegrind-20.12.1.tar.xz"; }; }; kcalc = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kcalc-20.08.3.tar.xz"; - sha256 = "1mk30fkv51w3fqlpkzgm1yj5sp98h26kkphplqkjva5v6s1jzmjy"; - name = "kcalc-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kcalc-20.12.1.tar.xz"; + sha256 = "1p59i6k0kq4xgcfsgcsb9z3yrrzgk564fh0apwmbawrmg6pp78dw"; + name = "kcalc-20.12.1.tar.xz"; }; }; kcalutils = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kcalutils-20.08.3.tar.xz"; - sha256 = "1i2yh4gvdwlylj7f7p32g1z7lzh3p19rrbd96l1gqhy700f2whpw"; - name = "kcalutils-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kcalutils-20.12.1.tar.xz"; + sha256 = "0b7w9n8sf31qbpxiw998xd4dls46mxf2bvl4n937vgzisfwb5sxs"; + name = "kcalutils-20.12.1.tar.xz"; }; }; kcharselect = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kcharselect-20.08.3.tar.xz"; - sha256 = "1p6rijjfa2jk4vr0ivjn6p5qf2ys5kvhw0cwfyjs45ff7zg0s2ga"; - name = "kcharselect-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kcharselect-20.12.1.tar.xz"; + sha256 = "1ss5zwp0zggk9phdccj7bcn8h49p9avzg8qm38c3wnwddgaw1pdb"; + name = "kcharselect-20.12.1.tar.xz"; }; }; kcolorchooser = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kcolorchooser-20.08.3.tar.xz"; - sha256 = "1874qa04whiivyydxfcn0f1xch515ga1af4ym42zqz64j3kq7i47"; - name = "kcolorchooser-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kcolorchooser-20.12.1.tar.xz"; + sha256 = "07qvwk8amvmgiwxrl6gbyf25ms666hradmg1vl8lf3hmfxx6j40z"; + name = "kcolorchooser-20.12.1.tar.xz"; }; }; kcron = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kcron-20.08.3.tar.xz"; - sha256 = "1piwssyg9fvah25gql6w0n8xf634f6gy475cz52gb1bl7rp72q6j"; - name = "kcron-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kcron-20.12.1.tar.xz"; + sha256 = "01xabwaxhxgwk6kh44rz3fm20jis2f6g9mrska5s03gxk7n0p1dc"; + name = "kcron-20.12.1.tar.xz"; }; }; kdebugsettings = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdebugsettings-20.08.3.tar.xz"; - sha256 = "11xnvr9qib3hnp48whsw659c724s2114p5dr3fswvhm3hkw1aky7"; - name = "kdebugsettings-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdebugsettings-20.12.1.tar.xz"; + sha256 = "1jlxp6v6yci4cff1mcz0w7dz0hfjig0wck9cc9maaw1a9swqc3r1"; + name = "kdebugsettings-20.12.1.tar.xz"; }; }; kdeconnect-kde = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdeconnect-kde-20.08.3.tar.xz"; - sha256 = "0x10ga81qlsahavmv356xzjxyds41y2b4v338rqcyqkxvfmxj01k"; - name = "kdeconnect-kde-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdeconnect-kde-20.12.1.tar.xz"; + sha256 = "0q11319ydibn1jgch98r66gzh3n6nb67l7xgzg0crdalm3dvf5gw"; + name = "kdeconnect-kde-20.12.1.tar.xz"; }; }; kde-dev-scripts = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kde-dev-scripts-20.08.3.tar.xz"; - sha256 = "0x8ba4mlxx17vk674738xln2dy696b148fa3s87za4yb4jj9gc5n"; - name = "kde-dev-scripts-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kde-dev-scripts-20.12.1.tar.xz"; + sha256 = "0hlabgf75qmww1161nd4ggqccp6h9ibsfkzpxdqvgxr9f1f31zz5"; + name = "kde-dev-scripts-20.12.1.tar.xz"; }; }; kde-dev-utils = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kde-dev-utils-20.08.3.tar.xz"; - sha256 = "0k7zb1km89nnqfi2p1mhp6dvwkhmgbcgw89301acag34yy954dvn"; - name = "kde-dev-utils-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kde-dev-utils-20.12.1.tar.xz"; + sha256 = "1bir6ifq5wlwgdna48s5c1al7hfq6vl9pi2yvbnzf0rz4ix1sw4r"; + name = "kde-dev-utils-20.12.1.tar.xz"; }; }; kdeedu-data = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdeedu-data-20.08.3.tar.xz"; - sha256 = "1k164h4n8r4yjlll5900fz764lr0qiy3q1fpcpkr8f1n7qs7f797"; - name = "kdeedu-data-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdeedu-data-20.12.1.tar.xz"; + sha256 = "1hzrwkb2333dkvp1n50p18gfci21klafibaknm4hdrk96b3s4fxp"; + name = "kdeedu-data-20.12.1.tar.xz"; }; }; kdegraphics-mobipocket = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdegraphics-mobipocket-20.08.3.tar.xz"; - sha256 = "0ifxbwn7pmxr7y4ri617a303b27nqwqa418isgfrfk11jc4yyxhq"; - name = "kdegraphics-mobipocket-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdegraphics-mobipocket-20.12.1.tar.xz"; + sha256 = "1n3x4cf5ck0lfn70d9g0iiy4pddc0r49gwir71q5six5l4pz21hd"; + name = "kdegraphics-mobipocket-20.12.1.tar.xz"; }; }; kdegraphics-thumbnailers = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdegraphics-thumbnailers-20.08.3.tar.xz"; - sha256 = "0mbzkw7pxcfmkpb8ivhahnxkkrkjhmbjqy2l9gqx35gp5855gmxf"; - name = "kdegraphics-thumbnailers-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdegraphics-thumbnailers-20.12.1.tar.xz"; + sha256 = "0lrijvphyc6wbkb499zf0gjpmqrjgrx5li93kvpsil1ivfpflv7w"; + name = "kdegraphics-thumbnailers-20.12.1.tar.xz"; }; }; kdenetwork-filesharing = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdenetwork-filesharing-20.08.3.tar.xz"; - sha256 = "0id19wmiivdrx10r1hwbwi7bx6g1v9g5lpbhlmfrapvy82ijfmbg"; - name = "kdenetwork-filesharing-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdenetwork-filesharing-20.12.1.tar.xz"; + sha256 = "0axi5vdgqkjdcbq0x34b3lnh1497vk54p9aca9d2wfhkd55zjbcv"; + name = "kdenetwork-filesharing-20.12.1.tar.xz"; }; }; kdenlive = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdenlive-20.08.3.tar.xz"; - sha256 = "187d5khqq9ckmqp8amd7ghlvig1z97w2jzm9s4zsfhjzyqv3d3wz"; - name = "kdenlive-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdenlive-20.12.1.tar.xz"; + sha256 = "0n543nswn0gxasc1445nqg35z5466a3ssivigxz4acqw66nj4vlv"; + name = "kdenlive-20.12.1.tar.xz"; }; }; kdepim-addons = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdepim-addons-20.08.3.tar.xz"; - sha256 = "17m8pwiig46pc6x4ylvymb3b6c7xcm2df3vjma665kcir1dr0q7p"; - name = "kdepim-addons-20.08.3.tar.xz"; - }; - }; - kdepim-apps-libs = { - version = "20.08.3"; - src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdepim-apps-libs-20.08.3.tar.xz"; - sha256 = "08iw1p9mv4jic7pk6skxc5anp7k46lhcdqxpq1i6wlhbrk6bpsvg"; - name = "kdepim-apps-libs-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdepim-addons-20.12.1.tar.xz"; + sha256 = "1dc5sl9ksk5i2sgs2vf41blb5cdpl8fv3vzmrrz9sl3r75pga5m0"; + name = "kdepim-addons-20.12.1.tar.xz"; }; }; kdepim-runtime = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdepim-runtime-20.08.3.tar.xz"; - sha256 = "0zz2zwq3gr177vgkwz6b70q4n2ra4ym58f167pgvi9kxv3884fib"; - name = "kdepim-runtime-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdepim-runtime-20.12.1.tar.xz"; + sha256 = "1np7xbdhm2wczm04cmsr25a74421i28iln39myiybq01im2ahapq"; + name = "kdepim-runtime-20.12.1.tar.xz"; }; }; kdesdk-kioslaves = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdesdk-kioslaves-20.08.3.tar.xz"; - sha256 = "1kwzms0qha058cm92d4f8pr89r3bqaqx5zfw6gz05s6lg892j5in"; - name = "kdesdk-kioslaves-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdesdk-kioslaves-20.12.1.tar.xz"; + sha256 = "18yy2s39sxfzi5lcky1jvlv7z77ygidhnfa4zhwas27yhcc6h0w4"; + name = "kdesdk-kioslaves-20.12.1.tar.xz"; }; }; kdesdk-thumbnailers = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdesdk-thumbnailers-20.08.3.tar.xz"; - sha256 = "10fc0agpvzpqdxqynd70vzya0g1nbdw0ylbnl9w35n9jhww42jff"; - name = "kdesdk-thumbnailers-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdesdk-thumbnailers-20.12.1.tar.xz"; + sha256 = "1hgqd2d2a9iwaxvd4xd7sdj7pyf3p3v2xg6v9dyy9y39q2f1qs23"; + name = "kdesdk-thumbnailers-20.12.1.tar.xz"; }; }; kdf = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdf-20.08.3.tar.xz"; - sha256 = "02k5nhsf1zzkx9cl3r2500pj2zfmvjhlfsb3smgpka6in7iivxyp"; - name = "kdf-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdf-20.12.1.tar.xz"; + sha256 = "0ba67hs4vlb3qyvdzhnpmf8p62df12s8aqw4hzf9vnxff3qix5k1"; + name = "kdf-20.12.1.tar.xz"; }; }; kdialog = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdialog-20.08.3.tar.xz"; - sha256 = "0knl6176bjazjiacg1qqaldlqcjlb3bi829sliq1sdh4lzzwrbzk"; - name = "kdialog-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdialog-20.12.1.tar.xz"; + sha256 = "13n6bc3aqi9v6i4p4vkwzjv4rsqinx45n028ls6ndlapayd750f4"; + name = "kdialog-20.12.1.tar.xz"; }; }; kdiamond = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kdiamond-20.08.3.tar.xz"; - sha256 = "0ls1kg3wank1al46knq12jilmp8gaa4rn7zbgflcrhgy5gw8l5px"; - name = "kdiamond-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kdiamond-20.12.1.tar.xz"; + sha256 = "0iaq3cai1sn3vlym4zshfziviy9k4s7pm92c7bzwa9adfak6y9h4"; + name = "kdiamond-20.12.1.tar.xz"; }; }; keditbookmarks = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/keditbookmarks-20.08.3.tar.xz"; - sha256 = "0m8ap5hvjgldj9hdk6shpkv8xylhhjla2xn1zs86pvj4la3zh4f8"; - name = "keditbookmarks-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/keditbookmarks-20.12.1.tar.xz"; + sha256 = "1a41zpl2wzqdmp13m915agcc2nlxndyamy5aqyn98y3s8k5n6d9p"; + name = "keditbookmarks-20.12.1.tar.xz"; }; }; kfind = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kfind-20.08.3.tar.xz"; - sha256 = "10i5mw6q2parq5w7pi955kgfvdlw8hwis2p7r9vkvabjdk69nkdr"; - name = "kfind-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kfind-20.12.1.tar.xz"; + sha256 = "0rlxq4dl221ycxcybav7yf88wz23v07n5yzp7jgrd602lk5k8jdp"; + name = "kfind-20.12.1.tar.xz"; }; }; kfloppy = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kfloppy-20.08.3.tar.xz"; - sha256 = "1cp0pwgldscc7va508gk43im3fv0lsxd5sbhpw8kxlzjlpbwlp8v"; - name = "kfloppy-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kfloppy-20.12.1.tar.xz"; + sha256 = "1wpcv2ipx0izg60rbgf8qwhys3bhw8i36qpsvh8bihkzij28xc84"; + name = "kfloppy-20.12.1.tar.xz"; }; }; kfourinline = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kfourinline-20.08.3.tar.xz"; - sha256 = "0h1n44dncr2siw447n7b0gkx3380vajvqjsgjvapkg7m7bmz7nsv"; - name = "kfourinline-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kfourinline-20.12.1.tar.xz"; + sha256 = "1fv68smci1f59xzqzqj36qry2ibgr0ps731vhvafn210q8h2f5b5"; + name = "kfourinline-20.12.1.tar.xz"; }; }; kgeography = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kgeography-20.08.3.tar.xz"; - sha256 = "1mk5cip55chc8pmh8wfl7an5x076ywisr0i7isqcjaij2cv54283"; - name = "kgeography-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kgeography-20.12.1.tar.xz"; + sha256 = "13jsrfv17lzlwi9rg7i8q2sfl8n19k15qdbv1y5lggykvf8prp8h"; + name = "kgeography-20.12.1.tar.xz"; }; }; kget = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kget-20.08.3.tar.xz"; - sha256 = "144ydk8bbfirph464mkkvwpnynj465i2ynhm8n9d330kcrhnaxd0"; - name = "kget-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kget-20.12.1.tar.xz"; + sha256 = "03s8wpfrzl3j6whxbfbmbydghaghcnr8xbskf4wkyk9kvyk4bqha"; + name = "kget-20.12.1.tar.xz"; }; }; kgoldrunner = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kgoldrunner-20.08.3.tar.xz"; - sha256 = "101cdl04wb6xbq95b51ax36570y9ahkcy5gccqsyvc307ij9yg7r"; - name = "kgoldrunner-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kgoldrunner-20.12.1.tar.xz"; + sha256 = "0n96clxf0bmhm8hlyvd7q9w1zhjn5irvh2vrf9d79ng44zgygjvh"; + name = "kgoldrunner-20.12.1.tar.xz"; }; }; kgpg = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kgpg-20.08.3.tar.xz"; - sha256 = "1ip21yal37yxg5i5sfy6lgfb3sz9lld0dwa7a1w4lbddf9w3akd6"; - name = "kgpg-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kgpg-20.12.1.tar.xz"; + sha256 = "05wwdbx90wg3rm6hcin1dykbrbzz82g01dxnkgh21zzab72wmx8a"; + name = "kgpg-20.12.1.tar.xz"; }; }; khangman = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/khangman-20.08.3.tar.xz"; - sha256 = "1zwdd2gpjkld3vkawp0lj83il257ryxf8wpmbgzn1wz8sxxi01jj"; - name = "khangman-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/khangman-20.12.1.tar.xz"; + sha256 = "0ljavjbh69qyp2323pqlkibzjkwgddmdjd35m0m5n4nwvnz3l5y7"; + name = "khangman-20.12.1.tar.xz"; }; }; khelpcenter = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/khelpcenter-20.08.3.tar.xz"; - sha256 = "1xan4awwgs08k7ksfy80rfcxqd6bi8i1fjdgy55hh7wshv76zf5r"; - name = "khelpcenter-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/khelpcenter-20.12.1.tar.xz"; + sha256 = "1cba8siq3g78xjap4mhfkgvk9n031qy81ir08fpwk6zp9fkkgqb6"; + name = "khelpcenter-20.12.1.tar.xz"; }; }; kidentitymanagement = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kidentitymanagement-20.08.3.tar.xz"; - sha256 = "0vkydvf4yw3qlqrg9m1zdm6j0c1crxdvc7l24yls9fjbj957vbls"; - name = "kidentitymanagement-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kidentitymanagement-20.12.1.tar.xz"; + sha256 = "1f8l8xbwy7qk5hadvknr45ihhg1j7zpqvpf5wxj3h6zg9fmadly9"; + name = "kidentitymanagement-20.12.1.tar.xz"; }; }; kig = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kig-20.08.3.tar.xz"; - sha256 = "1dvizdfkvl7p7hr4xm4zh51lpr8qr3s5j5zz162s7arr7sws4w8h"; - name = "kig-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kig-20.12.1.tar.xz"; + sha256 = "0ns4rhk822p7jjqy9wnhkbrbais4ih1viw405rl5r5xlqn9bvsiz"; + name = "kig-20.12.1.tar.xz"; }; }; kigo = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kigo-20.08.3.tar.xz"; - sha256 = "0sx3klivzn8h96mpnbkiv2nbi2l6w0j6fclj7q3ql3cm81jh6n15"; - name = "kigo-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kigo-20.12.1.tar.xz"; + sha256 = "0lvcc423mw3gs6c5x4lrlny07q93pa8ivaqphq6y4771n5y5dqqa"; + name = "kigo-20.12.1.tar.xz"; }; }; killbots = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/killbots-20.08.3.tar.xz"; - sha256 = "1j41my0brpqpvd8xibv39z4x4kmw1sqz7wy7ibhh0zir3jh64n83"; - name = "killbots-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/killbots-20.12.1.tar.xz"; + sha256 = "0cdlixd7rakcxa8f5pf3pmq86mlipg7yhygnii858165v0gwkpx3"; + name = "killbots-20.12.1.tar.xz"; }; }; kimagemapeditor = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kimagemapeditor-20.08.3.tar.xz"; - sha256 = "1m9mrksdl08ijmpmx3lhdysnm70mrnqz9rlbcn1h95p2sq0bk8cg"; - name = "kimagemapeditor-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kimagemapeditor-20.12.1.tar.xz"; + sha256 = "0vj2w3bgkq020gdi5q1zh650ipf4zc0hvzx5fpjknx4hd8b52rf8"; + name = "kimagemapeditor-20.12.1.tar.xz"; }; }; kimap = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kimap-20.08.3.tar.xz"; - sha256 = "16paglkqgnyzwjydhn02qw7zg0d4casir4bsfch15wdmqv389mrg"; - name = "kimap-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kimap-20.12.1.tar.xz"; + sha256 = "1x6lapmb3srw3pddi7rmlzjdsw54x94pkr6jyrncpfpqqsgb3l4v"; + name = "kimap-20.12.1.tar.xz"; }; }; kio-extras = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kio-extras-20.08.3.tar.xz"; - sha256 = "0i7k9asc97r9z4lfk5hyf7mcbx0za7j6v4dhqn43j5v4x2i0201c"; - name = "kio-extras-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kio-extras-20.12.1.tar.xz"; + sha256 = "1ym07jzy4w21frf3j5aadxg8ny7bgrm5dbhrc3xdyyj2rwh3iygg"; + name = "kio-extras-20.12.1.tar.xz"; }; }; kio-gdrive = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kio-gdrive-20.08.3.tar.xz"; - sha256 = "0pp0nvsnfdm8vskw194qjfac4agnlsjm44w1704b5sqx6i27dafy"; - name = "kio-gdrive-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kio-gdrive-20.12.1.tar.xz"; + sha256 = "0axh8138rcfpa0a7s5w8zi8i6chz3z1q7560v497x6rd3d1z2zp0"; + name = "kio-gdrive-20.12.1.tar.xz"; }; }; kipi-plugins = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kipi-plugins-20.08.3.tar.xz"; - sha256 = "1pplhv8yjfl1ifx9ykf4w2lgma8jvshihmd5c5mz9liqk3lawq15"; - name = "kipi-plugins-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kipi-plugins-20.12.1.tar.xz"; + sha256 = "0pv5f6v37n75vrz4vaw755bjyyqk1mm9dla26k0jy3qr76g8bg9d"; + name = "kipi-plugins-20.12.1.tar.xz"; }; }; kirigami-gallery = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kirigami-gallery-20.08.3.tar.xz"; - sha256 = "0l100ng8ai55s0vl8nkpq4vysy2nc6sk1dbisc2mp7br74ykyfp9"; - name = "kirigami-gallery-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kirigami-gallery-20.12.1.tar.xz"; + sha256 = "00f3alhlvlphcz81465nfrdvvabbzy5n1s06bvwzsvf290h5chbh"; + name = "kirigami-gallery-20.12.1.tar.xz"; }; }; kiriki = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kiriki-20.08.3.tar.xz"; - sha256 = "1gddjii84cbz1dg8k0pnd3dyzar4lvj03j9v84vabggjjjbpir0f"; - name = "kiriki-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kiriki-20.12.1.tar.xz"; + sha256 = "07qsmyf1ylgcwy704s8x9g1h4kalsipqz4z3bj1z5m5a2y9l8y8q"; + name = "kiriki-20.12.1.tar.xz"; }; }; kiten = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kiten-20.08.3.tar.xz"; - sha256 = "0n9mq86gcl6s2f45l8lbp4gsdj356l78xjkdvm14f6qlh81vsqlc"; - name = "kiten-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kiten-20.12.1.tar.xz"; + sha256 = "0dfz2wdscgn0f967lnhzpyb3iz1iw068x0l10542pm5dh32afs4m"; + name = "kiten-20.12.1.tar.xz"; }; }; kitinerary = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kitinerary-20.08.3.tar.xz"; - sha256 = "169pmy5fyjkbya8r2kdkd9s83sim0jplc3lx8bv2xh6r10mvzgm6"; - name = "kitinerary-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kitinerary-20.12.1.tar.xz"; + sha256 = "07zjd3ikbx6rw39ndy04aia8q35r75p5n52fijwnc4fkfc40xyxz"; + name = "kitinerary-20.12.1.tar.xz"; }; }; kjumpingcube = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kjumpingcube-20.08.3.tar.xz"; - sha256 = "19246jwwd686x8i0jrvz2c8mpkf6qhm7rnskzin59dqzr76xrpgz"; - name = "kjumpingcube-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kjumpingcube-20.12.1.tar.xz"; + sha256 = "0li9bq7j30fbdzg981i6jkpxgrv1z84bpig8m5mxfyfhs5c55j69"; + name = "kjumpingcube-20.12.1.tar.xz"; }; }; kldap = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kldap-20.08.3.tar.xz"; - sha256 = "1ihaazsnb9r30m2qhzcp2ns9f5fs7l3agsc9f9wxi4cyw73bq0n3"; - name = "kldap-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kldap-20.12.1.tar.xz"; + sha256 = "02w4hk9j1f1d81k0j8dzrj4hxwk2xwrf48305hzmm658wjvkv4k3"; + name = "kldap-20.12.1.tar.xz"; }; }; kleopatra = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kleopatra-20.08.3.tar.xz"; - sha256 = "1r879g7hw3c5cww58z0kvqj47pgzbiq1vpgxz847smrylqajcpyi"; - name = "kleopatra-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kleopatra-20.12.1.tar.xz"; + sha256 = "1g06mq8vl1jhkyrjfrgsbl44v7yq04m8xbb8dxlyhyv40dwlz7l6"; + name = "kleopatra-20.12.1.tar.xz"; }; }; klettres = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/klettres-20.08.3.tar.xz"; - sha256 = "0irc0f7vjznlsczan30zzprbnvgnbg19vabr97cw9rkkfa28azx9"; - name = "klettres-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/klettres-20.12.1.tar.xz"; + sha256 = "0k66xdkyv6i1zgk9nvz9633pmxygv1bwm4nkbg3izlh4g23rn3kk"; + name = "klettres-20.12.1.tar.xz"; }; }; klickety = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/klickety-20.08.3.tar.xz"; - sha256 = "1qsm9grmy0bnalpdghg48xi68zzk6ysmg6n0d74ldmmnirv3r0zf"; - name = "klickety-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/klickety-20.12.1.tar.xz"; + sha256 = "17ml80p02sndhac5q6lkf7bb1kz9snsia991fghhahcjvd1g2qn6"; + name = "klickety-20.12.1.tar.xz"; }; }; klines = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/klines-20.08.3.tar.xz"; - sha256 = "1l95ph1sjp3r1q065k3rj18lm36krl7bh41zgqh021p692ywc48c"; - name = "klines-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/klines-20.12.1.tar.xz"; + sha256 = "1ba71n90x0s8nf300p53libzfjd0j9r6m0fng636m1qjaz6z9a3c"; + name = "klines-20.12.1.tar.xz"; }; }; kmag = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kmag-20.08.3.tar.xz"; - sha256 = "0y44gz3qn91vl840xz25l5kc5jj82k5qqxkgsvvyld2s99rif84k"; - name = "kmag-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kmag-20.12.1.tar.xz"; + sha256 = "0m4zy1ybk2p4wzdfrdf64n06ck39sn7s0nb82miizcpscaxqswhj"; + name = "kmag-20.12.1.tar.xz"; }; }; kmahjongg = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kmahjongg-20.08.3.tar.xz"; - sha256 = "0wgp9m7xzf5ysmrrnyng4p4jypvzfnqkyw62gknl0qhk531cgq3h"; - name = "kmahjongg-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kmahjongg-20.12.1.tar.xz"; + sha256 = "1hszrp81pffg7rp0rk54qx49v3acmqfdi0if47kh9w124iicsi3z"; + name = "kmahjongg-20.12.1.tar.xz"; }; }; kmail = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kmail-20.08.3.tar.xz"; - sha256 = "0g59s7wl0n4bp8kw559rdlamlqxl47qvwfms9kr9ign35rvs0ghg"; - name = "kmail-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kmail-20.12.1.tar.xz"; + sha256 = "128l57x29mqg3fcx50hviqydl7gw6n2zbjnmzrj7fzgl6gafcdgw"; + name = "kmail-20.12.1.tar.xz"; }; }; kmail-account-wizard = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kmail-account-wizard-20.08.3.tar.xz"; - sha256 = "0vama5a02dfgxrl4iz88lbi8dvq3d9b055xil770d90pwp0sljcz"; - name = "kmail-account-wizard-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kmail-account-wizard-20.12.1.tar.xz"; + sha256 = "1gl4pvn7lyyc9rsk70yp5mikpdbakp4zgwx3plypqhmqd1z92pin"; + name = "kmail-account-wizard-20.12.1.tar.xz"; }; }; kmailtransport = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kmailtransport-20.08.3.tar.xz"; - sha256 = "07552qj3ngwvyss7f8cy87c0gmzc47agn54wk85qq0v1fwr73n6z"; - name = "kmailtransport-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kmailtransport-20.12.1.tar.xz"; + sha256 = "08i4fmhkpxil7q6vn045xha54x00jkm19kibphx2q3sb3c6s3plm"; + name = "kmailtransport-20.12.1.tar.xz"; }; }; kmbox = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kmbox-20.08.3.tar.xz"; - sha256 = "0ipmwcicn3qklybqy9v41lh7byn7j62ja8b0xf06z9nliwkk4b0b"; - name = "kmbox-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kmbox-20.12.1.tar.xz"; + sha256 = "1w172gqanhpkmcd9hc62lsmrkylg8mlfyk3nq3n89k6m2dkcfvqd"; + name = "kmbox-20.12.1.tar.xz"; }; }; kmime = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kmime-20.08.3.tar.xz"; - sha256 = "1ndbx712vm4v0fi7p8j28d8z35h3bmsixc97z5r9dg03v1kzd36v"; - name = "kmime-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kmime-20.12.1.tar.xz"; + sha256 = "0hr5mh8a4b9bi0dqs055x4mpig7awqy9sd6j0i8lxix4cngcb6a2"; + name = "kmime-20.12.1.tar.xz"; }; }; kmines = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kmines-20.08.3.tar.xz"; - sha256 = "1mn5hip3vnzmkk1hy14glsplp7f5pm56yv0d5mz25icfgw0xa6lp"; - name = "kmines-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kmines-20.12.1.tar.xz"; + sha256 = "18jzzn03c6mlmc02qg5fimid77b8gs0h4lci6wmj11fmb94g1hic"; + name = "kmines-20.12.1.tar.xz"; }; }; kmix = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kmix-20.08.3.tar.xz"; - sha256 = "00gm93faqmqx0hhkxi3k2pn6sq82k2f622vqgk7mwznkpg66mf4k"; - name = "kmix-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kmix-20.12.1.tar.xz"; + sha256 = "1q1jz33mwnr5nr2mw92g40g7paclaxhwcvqik91la6dnvl0vpi8p"; + name = "kmix-20.12.1.tar.xz"; }; }; kmousetool = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kmousetool-20.08.3.tar.xz"; - sha256 = "09qznykysr42rzz5cmqvhvz91cr8dbzwjd73hwaib2lfs3c2cgbl"; - name = "kmousetool-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kmousetool-20.12.1.tar.xz"; + sha256 = "1nahq9cgffcd4llqc8lwkicxjw8nwphvpws9xkalwsswb7ai9jrk"; + name = "kmousetool-20.12.1.tar.xz"; }; }; kmouth = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kmouth-20.08.3.tar.xz"; - sha256 = "0ajhnl1sjllfb42nyafpirmlgcs6waqp8qxvgsz5dk5zkb8daqmr"; - name = "kmouth-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kmouth-20.12.1.tar.xz"; + sha256 = "0qhparw2qszv7z7lrzb76kyvkcgr9sgry9ir9965dd0sp4c1fhgc"; + name = "kmouth-20.12.1.tar.xz"; }; }; kmplot = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kmplot-20.08.3.tar.xz"; - sha256 = "0cv7q1wmbb3fkf4s6ns4q1il5zr4q02b3xghpp661ma82d8jhjcy"; - name = "kmplot-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kmplot-20.12.1.tar.xz"; + sha256 = "0iz61jjr7z0j5bh5nqdv9nbdbiz0jhda89bxjds0n9636q42rifm"; + name = "kmplot-20.12.1.tar.xz"; }; }; knavalbattle = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/knavalbattle-20.08.3.tar.xz"; - sha256 = "1028i8zl5ynm3vvqajsms2hq8gmmjmjc5dc6r3jyh6r964vxq3nq"; - name = "knavalbattle-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/knavalbattle-20.12.1.tar.xz"; + sha256 = "0k7kqnc8zp3n0ckrmmih12x6h1vgn9s7hrgp7n37bns2g39ij0xn"; + name = "knavalbattle-20.12.1.tar.xz"; }; }; knetwalk = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/knetwalk-20.08.3.tar.xz"; - sha256 = "13pspvi2p68irpbr3f2ck78qmvfl3vahm5qjw2fwhidhpindf9nl"; - name = "knetwalk-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/knetwalk-20.12.1.tar.xz"; + sha256 = "0px8yfi5h9nipgdjcgskrm66dr23yg5ks0kyxjsly6mv41qxjiw8"; + name = "knetwalk-20.12.1.tar.xz"; }; }; knights = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/knights-20.08.3.tar.xz"; - sha256 = "0zqb87mr2x085hi3r9cvdrx2kvxmclh4ffi1ajcb8v1f79wiwzin"; - name = "knights-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/knights-20.12.1.tar.xz"; + sha256 = "098ywblshbr3qx7b8m4qj0036dq3c3mackmsbjnr85acb0204bjb"; + name = "knights-20.12.1.tar.xz"; }; }; knotes = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/knotes-20.08.3.tar.xz"; - sha256 = "0ysw8js2s6njilg4v4vqrl1bzcmqvk42l68pzvyflr112zviqz28"; - name = "knotes-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/knotes-20.12.1.tar.xz"; + sha256 = "11gfk2p240a2gqxgkn9ymf7ds2zpij8h2vbbkax6ariddmhmlqk0"; + name = "knotes-20.12.1.tar.xz"; }; }; kolf = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kolf-20.08.3.tar.xz"; - sha256 = "1ywyny8iq2sxglsvpgw6p3w3w567k6cw6waywfcfy0lcnfarg1n0"; - name = "kolf-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kolf-20.12.1.tar.xz"; + sha256 = "12b424dl6rizj2pdcd4cr01lmp4kmirii79k40v22hn0yn6a9qdv"; + name = "kolf-20.12.1.tar.xz"; }; }; kollision = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kollision-20.08.3.tar.xz"; - sha256 = "1l8a32bni40jz5jna0ip9ggbx7zp1hhiw2mip7v8f6qc4arbknl8"; - name = "kollision-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kollision-20.12.1.tar.xz"; + sha256 = "1hxv4qd5dl61d5440r4hnd9r24prn78ibmnk3m06c15zc3hfdsdn"; + name = "kollision-20.12.1.tar.xz"; }; }; kolourpaint = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kolourpaint-20.08.3.tar.xz"; - sha256 = "0d64gnnb553rxscr8710h5bx8ijxd87jrbix07k41y79i5x60irh"; - name = "kolourpaint-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kolourpaint-20.12.1.tar.xz"; + sha256 = "1a2wgrf9hirvj61k2nd8x7rv5v8i9r1vrvpdmi9ik4qdg6lpvqay"; + name = "kolourpaint-20.12.1.tar.xz"; }; }; kompare = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kompare-20.08.3.tar.xz"; - sha256 = "0r9m2vcw9hbdkfdy24pfpqs2b5r0jyxh1ma2h66hfv4ycd470ilc"; - name = "kompare-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kompare-20.12.1.tar.xz"; + sha256 = "13di8dzp7xzlfacas5f92h1vwiqf64cd0rkc4yv4l2g8aq2jzcqh"; + name = "kompare-20.12.1.tar.xz"; }; }; konqueror = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/konqueror-20.08.3.tar.xz"; - sha256 = "1ssjj83jcbcq8i7wx5zd12z7crh2zg6awbpy38maq3c7747nqz7k"; - name = "konqueror-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/konqueror-20.12.1.tar.xz"; + sha256 = "026f8fybr8azq3diw2k3p3qpmqj9lk6n9ipcl3xkwdss7i5v5w3y"; + name = "konqueror-20.12.1.tar.xz"; }; }; konquest = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/konquest-20.08.3.tar.xz"; - sha256 = "1wq0j02dzdah6yhx8r2cg191617hid9fs780yr317fprkwkgb8cb"; - name = "konquest-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/konquest-20.12.1.tar.xz"; + sha256 = "1s08mvj7z91r86i0zwkcv05fnnr4lzhp596qr38d2yv6rxf5vr57"; + name = "konquest-20.12.1.tar.xz"; }; }; konsole = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/konsole-20.08.3.tar.xz"; - sha256 = "0jjidy756x8n456qbm977a73l8229kk8i489jh52296k8pkh6yjx"; - name = "konsole-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/konsole-20.12.1.tar.xz"; + sha256 = "1v39sx00c115apnm32wn00yir69z1h0y3lblmjmvbjk24hwvx45n"; + name = "konsole-20.12.1.tar.xz"; }; }; kontact = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kontact-20.08.3.tar.xz"; - sha256 = "0qasgxvq7xps0zxk4hf2sizmy90mxyq70m2pq49pq17ij2pa9ynl"; - name = "kontact-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kontact-20.12.1.tar.xz"; + sha256 = "0dr59jj97zxkgc61zgwa8i26m81sfxvymxcrh5midwd24z8nslkz"; + name = "kontact-20.12.1.tar.xz"; }; }; kontactinterface = { - version = "20.08.3"; + version = "20.12.1"; + src = fetchurl { + url = "${mirror}/stable/release-service/20.12.1/src/kontactinterface-20.12.1.tar.xz"; + sha256 = "0sdlgmwvir2s9ys466i4bj4raf2af43w838and64jwsr9qb1hg4j"; + name = "kontactinterface-20.12.1.tar.xz"; + }; + }; + kontrast = { + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kontactinterface-20.08.3.tar.xz"; - sha256 = "1ah2814js08sm49ykarqdw7z03w4fbym5cc4vwmzimcvh2bc78j3"; - name = "kontactinterface-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kontrast-20.12.1.tar.xz"; + sha256 = "0cs31sn4va2hhfi7ps3bz9sy2hlxb8cawn5vijfdhzb9mmc962br"; + name = "kontrast-20.12.1.tar.xz"; + }; + }; + konversation = { + version = "20.12.1"; + src = fetchurl { + url = "${mirror}/stable/release-service/20.12.1/src/konversation-20.12.1.tar.xz"; + sha256 = "1x6pyiv73avc3qmxlbnwwzk3gz6qbr991p896f9yb4rqfqj8j7j4"; + name = "konversation-20.12.1.tar.xz"; }; }; kopete = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kopete-20.08.3.tar.xz"; - sha256 = "1lsab66k0xq1g0w0cxcpadmf9kkc09x8wwbv4i8y3aj2mn7849gh"; - name = "kopete-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kopete-20.12.1.tar.xz"; + sha256 = "1cfbl3jalmaphwrzw443l4q5k1fx4nja65ajgrv3nly8rfabfnfl"; + name = "kopete-20.12.1.tar.xz"; }; }; korganizer = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/korganizer-20.08.3.tar.xz"; - sha256 = "112h6vn2y9d3q3z62cwg3zrak3xgx9affibc9cvr6fzhp4z0x9ps"; - name = "korganizer-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/korganizer-20.12.1.tar.xz"; + sha256 = "1ci6ca6w3a77gf3d7fh9rjkblm5qa2jic176rwmax79qgvjjq8wm"; + name = "korganizer-20.12.1.tar.xz"; + }; + }; + kosmindoormap = { + version = "20.12.1"; + src = fetchurl { + url = "${mirror}/stable/release-service/20.12.1/src/kosmindoormap-20.12.1.tar.xz"; + sha256 = "186kfqaznxyxqchwqsrb4dvk4v69rhqwfg93fcjsp43l14ml5rnx"; + name = "kosmindoormap-20.12.1.tar.xz"; }; }; kpat = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kpat-20.08.3.tar.xz"; - sha256 = "1id4b9jkphi8pp29gc2vb3n9f0g8kl9yy5v8cnyv3jq673aj0fs9"; - name = "kpat-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kpat-20.12.1.tar.xz"; + sha256 = "1kd3i7qhjwxi04x8dkc7q9rgx73zyx3njm5rhq0hc1v32m8nn659"; + name = "kpat-20.12.1.tar.xz"; }; }; kpimtextedit = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kpimtextedit-20.08.3.tar.xz"; - sha256 = "1m4r5zbhbjvj3za78xfp3dibyf7mp9gan5ir5zd0k2p7adp3i652"; - name = "kpimtextedit-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kpimtextedit-20.12.1.tar.xz"; + sha256 = "15m26qssw80nxv1m51jq3q629nginhh4hb69a5y15jgvrv4k59b4"; + name = "kpimtextedit-20.12.1.tar.xz"; }; }; kpkpass = { - version = "20.08.3"; + version = "20.12.1"; + src = fetchurl { + url = "${mirror}/stable/release-service/20.12.1/src/kpkpass-20.12.1.tar.xz"; + sha256 = "09idbgf9gnzyr520indlzhwb9pr5hx3dag26qrfi7l8ywzdkrsr2"; + name = "kpkpass-20.12.1.tar.xz"; + }; + }; + kpmcore = { + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kpkpass-20.08.3.tar.xz"; - sha256 = "0zw3xx5mi38za0xbvld97f5bqvwwgyz47kybyrdm7jrhvmmiiiis"; - name = "kpkpass-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kpmcore-20.12.1.tar.xz"; + sha256 = "0nyqz1jfr9h9n80npvp7yyizbyga6iv8yljq52myk6b40vs9q41v"; + name = "kpmcore-20.12.1.tar.xz"; + }; + }; + kpublictransport = { + version = "20.12.1"; + src = fetchurl { + url = "${mirror}/stable/release-service/20.12.1/src/kpublictransport-20.12.1.tar.xz"; + sha256 = "0saqykqb9rrm3ngvcx910dmhyh1hc3n0x3qfzlzrxlq678ag94hq"; + name = "kpublictransport-20.12.1.tar.xz"; }; }; kqtquickcharts = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kqtquickcharts-20.08.3.tar.xz"; - sha256 = "0l7v8vrc7by0w0yshnh21jaqhspmhkvm5cd0hpay6jc9v2azkcf3"; - name = "kqtquickcharts-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kqtquickcharts-20.12.1.tar.xz"; + sha256 = "0025vj4n0k3g5bsmjq6ydx80izvpx6g73jxz27hp69vbl8p4ylpc"; + name = "kqtquickcharts-20.12.1.tar.xz"; }; }; krdc = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/krdc-20.08.3.tar.xz"; - sha256 = "1g9lxdldljh5a2s4g7g9b98lij168l99ah0vr6nvdl53n35pfr8n"; - name = "krdc-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/krdc-20.12.1.tar.xz"; + sha256 = "067xrhs55di2ff0lxvcl2x7qblmv2pbrgjkc5bjsx6ai6w9bv4dh"; + name = "krdc-20.12.1.tar.xz"; }; }; kreversi = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kreversi-20.08.3.tar.xz"; - sha256 = "0d3y072q61xcik9lf0pz0c9njvarwlvf6hqv5fp5jyqaf2902pmi"; - name = "kreversi-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kreversi-20.12.1.tar.xz"; + sha256 = "1yw9lxzqyxk6fsh2lzsrp2cmdw545hszdz9253lm6b5ppax6z42a"; + name = "kreversi-20.12.1.tar.xz"; }; }; krfb = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/krfb-20.08.3.tar.xz"; - sha256 = "13nypbcdhh53wq72w59z5q46a09g1w4yyi1pmsjwa8r7jnk8cafk"; - name = "krfb-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/krfb-20.12.1.tar.xz"; + sha256 = "0pfxd0nci9g4wkh4qcgk3yhm9rl9yx2d4jpfxgdmiacfp9hkqxj6"; + name = "krfb-20.12.1.tar.xz"; }; }; kross-interpreters = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kross-interpreters-20.08.3.tar.xz"; - sha256 = "0mr5vpbbcv66s6dyrrypy1ai6ba744z8cn4r0iwys35p6am075qj"; - name = "kross-interpreters-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kross-interpreters-20.12.1.tar.xz"; + sha256 = "1csk3xkkkqvffms5ivy08hyd2mizg7ywcrdapxx40m5kwsn6vpxs"; + name = "kross-interpreters-20.12.1.tar.xz"; }; }; kruler = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kruler-20.08.3.tar.xz"; - sha256 = "1vhl8acccdqfdj7lci8r2mig9qf1js4f8v7b4fqljpnc3gdg8749"; - name = "kruler-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kruler-20.12.1.tar.xz"; + sha256 = "1jiz9s647bndpi4gg3f7wwg0c0cv8wf1myjxwdpx5a0ggdr2xh3q"; + name = "kruler-20.12.1.tar.xz"; }; }; kshisen = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kshisen-20.08.3.tar.xz"; - sha256 = "1vy8qh8s60a4ikyw3sh4cbr3p3fk35d4dwdqc263gn4skyrsb1l9"; - name = "kshisen-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kshisen-20.12.1.tar.xz"; + sha256 = "1awnpj66080g2y41014g2pgb5llyqw56b54z6ydhfya4a0a8gsds"; + name = "kshisen-20.12.1.tar.xz"; }; }; ksirk = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ksirk-20.08.3.tar.xz"; - sha256 = "1kxc1b05r8x6pvaiwpvjpgrr88qkm5qs4d3s1ym8rki60c724qpl"; - name = "ksirk-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ksirk-20.12.1.tar.xz"; + sha256 = "11bcmxjjyf095i790f5r3cr5hskw2x9458vwfm7yd57qx3r01axz"; + name = "ksirk-20.12.1.tar.xz"; }; }; ksmtp = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ksmtp-20.08.3.tar.xz"; - sha256 = "1p9clzvmsym2fijwvs3s0zqx57bk82mlks52j5ni3il6lvklaayc"; - name = "ksmtp-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ksmtp-20.12.1.tar.xz"; + sha256 = "1yahcgchfhk742n6hmpr2b2fll6jrw0vs1hrfvms3n7w7vxnkyxg"; + name = "ksmtp-20.12.1.tar.xz"; }; }; ksnakeduel = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ksnakeduel-20.08.3.tar.xz"; - sha256 = "03ydbwknn20gadjpwcw0z8zw777hgj8j10w4gvp2dwpb07rdg1pn"; - name = "ksnakeduel-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ksnakeduel-20.12.1.tar.xz"; + sha256 = "1647m2a918kr762fmvffj2ipamhvcihc8yg8z80b8lwinpspcdfc"; + name = "ksnakeduel-20.12.1.tar.xz"; }; }; kspaceduel = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kspaceduel-20.08.3.tar.xz"; - sha256 = "1ii3lnxd11d3ihl8j1abh9qn9q0qq8ra9hbrwjs5df2kk36bnirj"; - name = "kspaceduel-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kspaceduel-20.12.1.tar.xz"; + sha256 = "17i2saa48xq62j0aca555lqjxf6ry3wkxw5vm5v32g3kwkr10m78"; + name = "kspaceduel-20.12.1.tar.xz"; }; }; ksquares = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ksquares-20.08.3.tar.xz"; - sha256 = "1ch7lbylzb9ngdzvpzqq5f30gkm2l4rzk6iqa8xm53rawr7jjqcy"; - name = "ksquares-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ksquares-20.12.1.tar.xz"; + sha256 = "085bvcx5p13j32017c0vm3zvcr0r0dzcbxpp21mvrp1xzy2dw7v2"; + name = "ksquares-20.12.1.tar.xz"; }; }; ksudoku = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ksudoku-20.08.3.tar.xz"; - sha256 = "0hnqbd3krxi3zwj8p4n9ydhwfwhw8wljhjdfv0llv0nhj1wb89p9"; - name = "ksudoku-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ksudoku-20.12.1.tar.xz"; + sha256 = "0a0i87ddxa75admnxl181dsqmab4cwbb6pncl34z4sppf272z8km"; + name = "ksudoku-20.12.1.tar.xz"; }; }; ksystemlog = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ksystemlog-20.08.3.tar.xz"; - sha256 = "11fc2mn4hkcibpxp7s2gihpp05yix7ws84a0bm6vjiqlidmrk192"; - name = "ksystemlog-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ksystemlog-20.12.1.tar.xz"; + sha256 = "0535s6sq4wccdxv0xw12x3zzjkp0746s3hmlk93sginwq5fixxc0"; + name = "ksystemlog-20.12.1.tar.xz"; }; }; kteatime = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kteatime-20.08.3.tar.xz"; - sha256 = "1vj738s2a7nnrvxi847mdmn1vg79kh9k8gqaflcwnvyxanf6n4f7"; - name = "kteatime-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kteatime-20.12.1.tar.xz"; + sha256 = "0j9c3wy398z61ciyf91hv7l3bxski827di9ib94wyjkwqd6516zx"; + name = "kteatime-20.12.1.tar.xz"; }; }; ktimer = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktimer-20.08.3.tar.xz"; - sha256 = "1rc1z93s24b7p2ixr4xbpg0sj8ls90gzfijwj9f8b0lrwd905ysv"; - name = "ktimer-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktimer-20.12.1.tar.xz"; + sha256 = "0iac06mzszg6g1flbs0mzj8ddnvh6kdgbhakjxl969in4c1frz9w"; + name = "ktimer-20.12.1.tar.xz"; }; }; ktnef = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktnef-20.08.3.tar.xz"; - sha256 = "1lj93sqyi522k91jiyf7d26vx5sgn5njhyaf8plsfz5rj82dw1m4"; - name = "ktnef-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktnef-20.12.1.tar.xz"; + sha256 = "1pq4mabh7glpxl2iwj5rrfwim4x6xfg2vlpx7z0d0n13gh85b4fd"; + name = "ktnef-20.12.1.tar.xz"; + }; + }; + ktorrent = { + version = "20.12.1"; + src = fetchurl { + url = "${mirror}/stable/release-service/20.12.1/src/ktorrent-20.12.1.tar.xz"; + sha256 = "0m43wsz0k87ncvg3zdffsp06nwdrlfnw52fi1ry12z2rnkcm4pwc"; + name = "ktorrent-20.12.1.tar.xz"; }; }; ktouch = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktouch-20.08.3.tar.xz"; - sha256 = "1ssxd7f75866rn5k192bnm016d8674q13ibcgmaxqsmr7wqkyd39"; - name = "ktouch-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktouch-20.12.1.tar.xz"; + sha256 = "10lm2p8w26c9n6lhvw3301myfss0dq7hl7rawzb3hsy1lqvmvdib"; + name = "ktouch-20.12.1.tar.xz"; }; }; ktp-accounts-kcm = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktp-accounts-kcm-20.08.3.tar.xz"; - sha256 = "0039svbzx7fphyk6cw4hb8k4h7l6q31pbwvp6pvls450rycz8i8y"; - name = "ktp-accounts-kcm-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktp-accounts-kcm-20.12.1.tar.xz"; + sha256 = "0440s2rrh03x8h5bp6xywidngrb1pinndsigaj4k4yvz122j2y53"; + name = "ktp-accounts-kcm-20.12.1.tar.xz"; }; }; ktp-approver = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktp-approver-20.08.3.tar.xz"; - sha256 = "1kqsdw7vkcd0ka98y2r7qz7dp5hsrr2m8k1xlh3gpj7fdxpla2bh"; - name = "ktp-approver-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktp-approver-20.12.1.tar.xz"; + sha256 = "14ygpqvjhyzryrlinz0i2a6nyn1gnxs0hwx35imiz8hg4sb9402k"; + name = "ktp-approver-20.12.1.tar.xz"; }; }; ktp-auth-handler = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktp-auth-handler-20.08.3.tar.xz"; - sha256 = "0wbhg458ysipwma8sygimasq71sbrzmx3vwqi51ai8y5hwrx04j4"; - name = "ktp-auth-handler-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktp-auth-handler-20.12.1.tar.xz"; + sha256 = "1bysipq957kqbl33zj88m1g987b02v25gmh5lpnmrnlqznxw0ws7"; + name = "ktp-auth-handler-20.12.1.tar.xz"; }; }; ktp-call-ui = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktp-call-ui-20.08.3.tar.xz"; - sha256 = "1fh8bz9kc6f8v28x12xp3vw19swgcq07zyjzhd6qcnwf1bv6gl7i"; - name = "ktp-call-ui-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktp-call-ui-20.12.1.tar.xz"; + sha256 = "154zgg84ln823al40s5fwxf10k3p73mz4fjn2lyhdqgsx68l08sy"; + name = "ktp-call-ui-20.12.1.tar.xz"; }; }; ktp-common-internals = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktp-common-internals-20.08.3.tar.xz"; - sha256 = "193yx4g1fwlwysy5scb7m24wqmvwmfyyb9sv7arw7zn5czlg480z"; - name = "ktp-common-internals-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktp-common-internals-20.12.1.tar.xz"; + sha256 = "1f8l1ywccxga3ff8qvf4ybabkd57apidkx7ky49dfi785kgvym16"; + name = "ktp-common-internals-20.12.1.tar.xz"; }; }; ktp-contact-list = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktp-contact-list-20.08.3.tar.xz"; - sha256 = "0093z17r1xqlb1zlgxfayrnrkyl8zmnnasfd8i97dx712wmbbxxa"; - name = "ktp-contact-list-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktp-contact-list-20.12.1.tar.xz"; + sha256 = "122p2xp6wqmvk7mbplgnilsbnk6hfzrgbxpr39n462pkwbmvs44j"; + name = "ktp-contact-list-20.12.1.tar.xz"; }; }; ktp-contact-runner = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktp-contact-runner-20.08.3.tar.xz"; - sha256 = "063jylnq3gm0s0jh1xs6b591a161sb6gdi840l40mqlhhg7i8x55"; - name = "ktp-contact-runner-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktp-contact-runner-20.12.1.tar.xz"; + sha256 = "1w8jp1nmjwaaqpim2jfpbv3d7w9asn93qi2ag2d6wx6mcc2q84jb"; + name = "ktp-contact-runner-20.12.1.tar.xz"; }; }; ktp-desktop-applets = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktp-desktop-applets-20.08.3.tar.xz"; - sha256 = "1i69qzfa455phjnd5ycflyggcbq7ycn2cc7a3ni5195isjzq6r6s"; - name = "ktp-desktop-applets-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktp-desktop-applets-20.12.1.tar.xz"; + sha256 = "0z3vv7q5kk27fm32bmhffpj6w72mldcdxsq6p3d33zf6rkz2rb74"; + name = "ktp-desktop-applets-20.12.1.tar.xz"; }; }; ktp-filetransfer-handler = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktp-filetransfer-handler-20.08.3.tar.xz"; - sha256 = "0a26ziacl3fkd0a0h1579jnwjzjlsz0zymj9k4da4sb60zad5y72"; - name = "ktp-filetransfer-handler-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktp-filetransfer-handler-20.12.1.tar.xz"; + sha256 = "0b8ha1jxhrdk67mzwrd0ypz99shlfr6sanxbbv0j3xh77sjcqpq3"; + name = "ktp-filetransfer-handler-20.12.1.tar.xz"; }; }; ktp-kded-module = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktp-kded-module-20.08.3.tar.xz"; - sha256 = "105vh6b7a0v02arksbwxn30slpcg11cpvb7dqmvf041iyr13sqsv"; - name = "ktp-kded-module-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktp-kded-module-20.12.1.tar.xz"; + sha256 = "1hbb5pj3gaw9sg5rj2rb7a8xqrixfhr040rcdjsln337zyy98iqf"; + name = "ktp-kded-module-20.12.1.tar.xz"; }; }; ktp-send-file = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktp-send-file-20.08.3.tar.xz"; - sha256 = "08pp3029jplc6rcbav40cgy787gn3jjl312gbgvnwzglxaqvcg4b"; - name = "ktp-send-file-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktp-send-file-20.12.1.tar.xz"; + sha256 = "1vgfqa062h5yxdsz71h2zz247mzv6mn0zm7dz1v8p4pzns9kscq1"; + name = "ktp-send-file-20.12.1.tar.xz"; }; }; ktp-text-ui = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktp-text-ui-20.08.3.tar.xz"; - sha256 = "1anxl9wa5ndyi9r9w0kpivx8nv1xpx28xjvkdplkc75cc1wl88sw"; - name = "ktp-text-ui-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktp-text-ui-20.12.1.tar.xz"; + sha256 = "13cx2pv4wqmrgbi4sg51fhp418r50ajjhc9yz5mv7ad2gxml5c61"; + name = "ktp-text-ui-20.12.1.tar.xz"; }; }; ktuberling = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/ktuberling-20.08.3.tar.xz"; - sha256 = "0q6ynmn6w5q65a77fq8n9vxqswrimln22b1zfgxmb2i3qwnhkrmz"; - name = "ktuberling-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/ktuberling-20.12.1.tar.xz"; + sha256 = "06la1cvwvpiqjdwv7icdg55dd8pkc587bfwwjdq2fhp2pyh3ws6j"; + name = "ktuberling-20.12.1.tar.xz"; }; }; kturtle = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kturtle-20.08.3.tar.xz"; - sha256 = "0riv76vwvz94zixqhhwkxw8sz2r2xqai39yh9hr31d28q9rza384"; - name = "kturtle-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kturtle-20.12.1.tar.xz"; + sha256 = "12jr4sbchjpvc730cy4bp2cccdsd8vw901dgyq0nar8p0pvg4ybb"; + name = "kturtle-20.12.1.tar.xz"; }; }; kubrick = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kubrick-20.08.3.tar.xz"; - sha256 = "03k73gr33dr3va69vc70fsfcdwkqz70bg87yk2l2j33x8wsgl4wx"; - name = "kubrick-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kubrick-20.12.1.tar.xz"; + sha256 = "1hdkm9vw9wpc8b3mw0yy9cz5ylm0h75zbg51rw4glai48bb3gs8i"; + name = "kubrick-20.12.1.tar.xz"; }; }; kwalletmanager = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kwalletmanager-20.08.3.tar.xz"; - sha256 = "1l07vxl2x3jl8553rbvr3p0k3rc95nmrw4vhxxynl3102xshrg5i"; - name = "kwalletmanager-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kwalletmanager-20.12.1.tar.xz"; + sha256 = "0nsg2xjzz6qvjqpxj1bbzzikvcl1ipqjwwab2kdwg71vlp99ravj"; + name = "kwalletmanager-20.12.1.tar.xz"; }; }; kwave = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kwave-20.08.3.tar.xz"; - sha256 = "0zk8ik03qcc6y0vhpih8sk2jpkxwxalmqmaan2767k9h92grdpc8"; - name = "kwave-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kwave-20.12.1.tar.xz"; + sha256 = "1w5r7di9401dm60p3bkp8qg41pvlz4226szki5s6pmmq89dixdgq"; + name = "kwave-20.12.1.tar.xz"; }; }; kwordquiz = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/kwordquiz-20.08.3.tar.xz"; - sha256 = "1kiqk3xyd0l7kqdxqjqs8mw4drcdbdri9xxi5gcav57ndcinknqb"; - name = "kwordquiz-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/kwordquiz-20.12.1.tar.xz"; + sha256 = "1dvbvfwaja4n2v9binj8pbdjizqz4zp49fiq8b4k5jxygcsgnx2p"; + name = "kwordquiz-20.12.1.tar.xz"; }; }; libgravatar = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libgravatar-20.08.3.tar.xz"; - sha256 = "09dvx2rb1j7q4r0gkbhz0vjk8ya3njqprpjqdhwcq7xwc2j9h0hr"; - name = "libgravatar-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libgravatar-20.12.1.tar.xz"; + sha256 = "12byf7p0fwsfy61gcv112bhq3zczjy5n1dm32x2lrjyis2dh2z9j"; + name = "libgravatar-20.12.1.tar.xz"; }; }; libkcddb = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkcddb-20.08.3.tar.xz"; - sha256 = "0r36hs79hmq0znsds0d04lj7ffs6l2d866kyn1z1fdwr9b3crirg"; - name = "libkcddb-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libkcddb-20.12.1.tar.xz"; + sha256 = "07ky4ly72689gb58jxqqzq5bgmb9wslxkqj0ldam6v82ldk8ss7k"; + name = "libkcddb-20.12.1.tar.xz"; }; }; libkcompactdisc = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkcompactdisc-20.08.3.tar.xz"; - sha256 = "1nglk3kbx5czqla3cnpnf1fk71pf2cl9h6rgb40ak1xw4z31d456"; - name = "libkcompactdisc-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libkcompactdisc-20.12.1.tar.xz"; + sha256 = "101szps2js8dhxdn913mj9b2z953rp47ikkbrrdjl1fq1i8dh6ib"; + name = "libkcompactdisc-20.12.1.tar.xz"; }; }; libkdcraw = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkdcraw-20.08.3.tar.xz"; - sha256 = "1806i99qsrmixdg5b0hyi8h55fk00q6wxsnrblbwcmsb268jddp7"; - name = "libkdcraw-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libkdcraw-20.12.1.tar.xz"; + sha256 = "1vkjyccyax622a3jvqdfnppansabxaxplyk9prn302zqmgvl05h3"; + name = "libkdcraw-20.12.1.tar.xz"; }; }; libkdegames = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkdegames-20.08.3.tar.xz"; - sha256 = "1ccbcwwqb53bgqlr1rq9plpw21mipxp8rsi1f7l0p1jzpw054p08"; - name = "libkdegames-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libkdegames-20.12.1.tar.xz"; + sha256 = "1zy44k98xjjydsa35bagf152kfb394wxpdx0c06vcf404jkhk7ng"; + name = "libkdegames-20.12.1.tar.xz"; }; }; libkdepim = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkdepim-20.08.3.tar.xz"; - sha256 = "1v77g02v5sdqprh8psx5xpjgf8v91il60ca59yivm5jvc3hdf3f6"; - name = "libkdepim-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libkdepim-20.12.1.tar.xz"; + sha256 = "0kp2xssl1qbl3ziskxl3hhvyp8nc35d2fijk6hl99j3sxpdi2s4f"; + name = "libkdepim-20.12.1.tar.xz"; }; }; libkeduvocdocument = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkeduvocdocument-20.08.3.tar.xz"; - sha256 = "0ghkx6x5sn5fl934ybhl32knwv9zky0n1vkjw2w93lpms45xmw76"; - name = "libkeduvocdocument-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libkeduvocdocument-20.12.1.tar.xz"; + sha256 = "0kqnhaabfi91clqg7nlnjcybl5ca0p3ysn5zlwhxz1fcjxm83g4w"; + name = "libkeduvocdocument-20.12.1.tar.xz"; }; }; libkexiv2 = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkexiv2-20.08.3.tar.xz"; - sha256 = "1lh3947w6xgzl2r1wm6m4kd478q6bv89f0c3c38ldv30imfw7rfl"; - name = "libkexiv2-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libkexiv2-20.12.1.tar.xz"; + sha256 = "1vylyl3gxk3xais7c640kdnp4s4jwd9y2xxkwmf36ax0dv8wdcv0"; + name = "libkexiv2-20.12.1.tar.xz"; }; }; libkgapi = { - version = "20.08.3"; - src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkgapi-20.08.3.tar.xz"; - sha256 = "1kmgf9v9rvb67l7aw5xsx7v44l4pz8rl6p09lk26irq7gd4k68la"; - name = "libkgapi-20.08.3.tar.xz"; - }; - }; - libkgeomap = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkgeomap-20.08.3.tar.xz"; - sha256 = "14ipksxnvgk2s1sw7a70153iy9aik9mf4i7k8y3pzdr3l3155ayk"; - name = "libkgeomap-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libkgapi-20.12.1.tar.xz"; + sha256 = "0cx8lbzq8ambz2lbslakczzcfmhri4268p7zf7hnf3ymd17a5y8d"; + name = "libkgapi-20.12.1.tar.xz"; }; }; libkipi = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkipi-20.08.3.tar.xz"; - sha256 = "1b5qby7xm926qnzrf1zpb89fwx1a2syhqnznmdjxifj499p1jqjb"; - name = "libkipi-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libkipi-20.12.1.tar.xz"; + sha256 = "1ln4f1n9ghiqb9h4lpw6qcwz7wrvm8jlcqn1ingjh9s58zw8wqsg"; + name = "libkipi-20.12.1.tar.xz"; }; }; libkleo = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkleo-20.08.3.tar.xz"; - sha256 = "1d6dal4qnrikg6ma2ird4b2sdivqqkkhamvd3s1srcxppc3aiq79"; - name = "libkleo-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libkleo-20.12.1.tar.xz"; + sha256 = "0dq86pg0jchlpsynk0355wwq3pggqkj0mxhyvgi6a0xb2riy2r4a"; + name = "libkleo-20.12.1.tar.xz"; }; }; libkmahjongg = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkmahjongg-20.08.3.tar.xz"; - sha256 = "0xabp1vzbzs52m3bb9nzm1d9md1n4j4pr13izn6nv28ja7477nnm"; - name = "libkmahjongg-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libkmahjongg-20.12.1.tar.xz"; + sha256 = "0cq0bcl7hkgj1v7giqzbrvlds2933ji52fg53cakz29fkgxibj3x"; + name = "libkmahjongg-20.12.1.tar.xz"; }; }; libkomparediff2 = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libkomparediff2-20.08.3.tar.xz"; - sha256 = "0nk0jkf0jwaz1yqzzp44c6xyjgw42gclkcvw8w61w1f8sdl40wb8"; - name = "libkomparediff2-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libkomparediff2-20.12.1.tar.xz"; + sha256 = "04klqvhh8zl5lyblpqgm92wycq4r0hh6gx18nqnsgx6lknlrx9y3"; + name = "libkomparediff2-20.12.1.tar.xz"; }; }; libksane = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libksane-20.08.3.tar.xz"; - sha256 = "0d2cnmvk16g1vnx9jd7jvp3bpw07ss54khmhqip8iskkvcfll9j0"; - name = "libksane-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libksane-20.12.1.tar.xz"; + sha256 = "07xsfs0lkh35nj0fy7y1r46nkdmm26nbpsm846v18lh7wflxi36j"; + name = "libksane-20.12.1.tar.xz"; }; }; libksieve = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/libksieve-20.08.3.tar.xz"; - sha256 = "0bhpdqynazssql2iivvpb9l8npa441345gcn59fc0va6barl9sam"; - name = "libksieve-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/libksieve-20.12.1.tar.xz"; + sha256 = "07zgcsdl38fdy5pskp51rj5p7m3pz9szwidyg24mdyzb08k5xpdz"; + name = "libksieve-20.12.1.tar.xz"; + }; + }; + libktorrent = { + version = "20.12.1"; + src = fetchurl { + url = "${mirror}/stable/release-service/20.12.1/src/libktorrent-20.12.1.tar.xz"; + sha256 = "18mcrb064gizqb699cs9bvm918gg06wm6sq33pi87kwki5cniamv"; + name = "libktorrent-20.12.1.tar.xz"; }; }; lokalize = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/lokalize-20.08.3.tar.xz"; - sha256 = "0iab8sd1qh7h0zna7lc3v43z6rcmxba9v4nynhl5miiac4r6ddr8"; - name = "lokalize-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/lokalize-20.12.1.tar.xz"; + sha256 = "0mxzk9s0yrjf8gj70dpl1wbvnrkzc3ncqab2bj3yx0xk05hagjlx"; + name = "lokalize-20.12.1.tar.xz"; }; }; lskat = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/lskat-20.08.3.tar.xz"; - sha256 = "1rcmh592w5gd5b69czfxycypidj74y2d91cw92rccariadz9vnjz"; - name = "lskat-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/lskat-20.12.1.tar.xz"; + sha256 = "0p8n2cgfdxxjbx4jcpqf85h6k36nggj32h982yj3ig5dh1csym5d"; + name = "lskat-20.12.1.tar.xz"; }; }; mailcommon = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/mailcommon-20.08.3.tar.xz"; - sha256 = "0bhs60cz4qcrqkmw2sm6cd2laq8lzj9vcwi8kjqkajsidh342wdv"; - name = "mailcommon-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/mailcommon-20.12.1.tar.xz"; + sha256 = "191d6l314njlj227qhz7qqmkjkz9zm7xnvm9rlfj302san90a338"; + name = "mailcommon-20.12.1.tar.xz"; }; }; mailimporter = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/mailimporter-20.08.3.tar.xz"; - sha256 = "0w6yfgqx0adlkwx32vmb23kl6n50737jiabmad3pnhqw8rv41h80"; - name = "mailimporter-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/mailimporter-20.12.1.tar.xz"; + sha256 = "0jqdckpwlipc4zxxwnvysl44ri19h0hgr37dp36k99sxa3688jxc"; + name = "mailimporter-20.12.1.tar.xz"; }; }; marble = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/marble-20.08.3.tar.xz"; - sha256 = "1xpxgy724z97k063fdk0l3mrl8i6nvnhj35b4987jqji76i92ffb"; - name = "marble-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/marble-20.12.1.tar.xz"; + sha256 = "0w398igxx7pmyd4bj65ppbxfc4fiz4hsjmcffya88dnxxz73djb5"; + name = "marble-20.12.1.tar.xz"; + }; + }; + markdownpart = { + version = "20.12.1"; + src = fetchurl { + url = "${mirror}/stable/release-service/20.12.1/src/markdownpart-20.12.1.tar.xz"; + sha256 = "1389hswbhcssl9ybb605h9i50fv6jajggldkiyfwqxbi7aysghwk"; + name = "markdownpart-20.12.1.tar.xz"; }; }; mbox-importer = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/mbox-importer-20.08.3.tar.xz"; - sha256 = "1qh0f93df228cqlcqdwc7g6im3g0gkfmzir3ccsmb5iv0ygvjl6f"; - name = "mbox-importer-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/mbox-importer-20.12.1.tar.xz"; + sha256 = "1kgbiq933f93sb8m2nqmpp1x6qkqqcm2hcb3ihk5741dcpdmxx9n"; + name = "mbox-importer-20.12.1.tar.xz"; }; }; messagelib = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/messagelib-20.08.3.tar.xz"; - sha256 = "16amni6qrq96h8jr313gc7k9frwr20d4pk9y2i61a1xm2w3xsqd4"; - name = "messagelib-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/messagelib-20.12.1.tar.xz"; + sha256 = "0yjh7s80ksyyi78vxjw4i5f1bmsfziphwm6flgnw18gfzj3pyyy7"; + name = "messagelib-20.12.1.tar.xz"; }; }; minuet = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/minuet-20.08.3.tar.xz"; - sha256 = "1l45g7labnyz0pkwcfhjl5a3ypr7cy3bsshr06ab85364yjwazvi"; - name = "minuet-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/minuet-20.12.1.tar.xz"; + sha256 = "13jlz2m57x379zyv4x5zk2h6jc0qcz1zymkyrzs431bfmhyhdna2"; + name = "minuet-20.12.1.tar.xz"; }; }; okular = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/okular-20.08.3.tar.xz"; - sha256 = "1q59ikcwsfgjc0202daingxv15iarnzba6szdncznzcafd6hhk9z"; - name = "okular-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/okular-20.12.1.tar.xz"; + sha256 = "0gpm7n47yijsjg4yba561j5pbvd98hgvr93w1kvzk851nb87m89c"; + name = "okular-20.12.1.tar.xz"; }; }; palapeli = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/palapeli-20.08.3.tar.xz"; - sha256 = "107z3izfznrq7g5aqb5a7r8a4ibaia90g334d7wwvd7prm7hdgfp"; - name = "palapeli-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/palapeli-20.12.1.tar.xz"; + sha256 = "05d3f0snbg0iz78ggxk7hv1qn3blvpnpclhrhzcw1c5znr7al2xm"; + name = "palapeli-20.12.1.tar.xz"; }; }; parley = { - version = "20.08.3"; + version = "20.12.1"; + src = fetchurl { + url = "${mirror}/stable/release-service/20.12.1/src/parley-20.12.1.tar.xz"; + sha256 = "00xc1dv3fj783brfqh3ggvrwv26m840k35vrx2izzq5lqx2g1p5a"; + name = "parley-20.12.1.tar.xz"; + }; + }; + partitionmanager = { + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/parley-20.08.3.tar.xz"; - sha256 = "0wli09zkk5z50y1gzp5wc9k056xjaadlq97j09lf6lqyg6kb56ya"; - name = "parley-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/partitionmanager-20.12.1.tar.xz"; + sha256 = "1zypkah2smmqclni2r8571sd6qd5cbc0915r6gzf800yyccsfb65"; + name = "partitionmanager-20.12.1.tar.xz"; }; }; picmi = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/picmi-20.08.3.tar.xz"; - sha256 = "1lkpazsi9dyb2y9q5bk56d80x7x035rf4hdap25i8qfj3ilykv3w"; - name = "picmi-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/picmi-20.12.1.tar.xz"; + sha256 = "0aiaq99sb57vvz5wjwdwm0jj456nj26qs4m6vwibb1f0f8js4i03"; + name = "picmi-20.12.1.tar.xz"; }; }; pimcommon = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/pimcommon-20.08.3.tar.xz"; - sha256 = "0mpl7li2y5xjzk4hdb85d1x7cz15cicd91c1krlw74q7pbrjinlq"; - name = "pimcommon-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/pimcommon-20.12.1.tar.xz"; + sha256 = "1w5avmvssqnvxl31xrlh1xfns6q386w8ixlzfbzjkz5m95m4wr57"; + name = "pimcommon-20.12.1.tar.xz"; }; }; pim-data-exporter = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/pim-data-exporter-20.08.3.tar.xz"; - sha256 = "0f08c16d3730fbdsbrwlr9w5c4l9xcmd1bdbv5m38h5r2ddlkvzr"; - name = "pim-data-exporter-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/pim-data-exporter-20.12.1.tar.xz"; + sha256 = "0k9lh3llkzx0n5x8q14hkbjjrkczm10kr246bzr1zz8lcv1za1jc"; + name = "pim-data-exporter-20.12.1.tar.xz"; }; }; pim-sieve-editor = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/pim-sieve-editor-20.08.3.tar.xz"; - sha256 = "1falzw2a2v912fdzlyljsw9rcy1whrn9ys9ccrskkpvjn8y444x4"; - name = "pim-sieve-editor-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/pim-sieve-editor-20.12.1.tar.xz"; + sha256 = "0lifarfkpcpdvwmn61gmfd45k5i0dbf3sjrb0z1yaqsq7m158di1"; + name = "pim-sieve-editor-20.12.1.tar.xz"; }; }; poxml = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/poxml-20.08.3.tar.xz"; - sha256 = "0gzg3vbsjrfhs1jg59g7b3gf3b4qajiffkb94njkz8v1f0fadlxp"; - name = "poxml-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/poxml-20.12.1.tar.xz"; + sha256 = "1smjvblx0jcv3afs2sr4qcmvhqd44iw24hvr9fppa3nxhrmjwmlk"; + name = "poxml-20.12.1.tar.xz"; }; }; print-manager = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/print-manager-20.08.3.tar.xz"; - sha256 = "18nl9gpmzz4g9fqzyvbh858nxz23b2vyi505qacqvcrz13r0l78z"; - name = "print-manager-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/print-manager-20.12.1.tar.xz"; + sha256 = "1nx442bi41gd64i4j0nc8hx0wdv6ayvnp2wydn4l7sgsf0ms4x6y"; + name = "print-manager-20.12.1.tar.xz"; }; }; rocs = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/rocs-20.08.3.tar.xz"; - sha256 = "0bd9x7kh2s4z79ff9byd3ly7k040c574zwrrgi8sq21yd531hxhj"; - name = "rocs-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/rocs-20.12.1.tar.xz"; + sha256 = "11gg2pmx21wfrw63qv7w8bjzcsxf86j5ripa2dwqfl3355wvi5mb"; + name = "rocs-20.12.1.tar.xz"; }; }; signon-kwallet-extension = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/signon-kwallet-extension-20.08.3.tar.xz"; - sha256 = "1s0syq9aw2q34k1wxrpjqqi12xay1h0vc4s2d8l184hzzg8qq71i"; - name = "signon-kwallet-extension-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/signon-kwallet-extension-20.12.1.tar.xz"; + sha256 = "0m48a5mqmwrjl4wc4m30n5csl7fwp8g70pv0nib0v36lp0424xjb"; + name = "signon-kwallet-extension-20.12.1.tar.xz"; }; }; spectacle = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/spectacle-20.08.3.tar.xz"; - sha256 = "16dwbsk9hik7gmz9s4x78hibz4x9d1fpx8x2i2giry5hwzknfcw4"; - name = "spectacle-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/spectacle-20.12.1.tar.xz"; + sha256 = "04jsm0ipfaccc80qxnhhbfc9fn009cxa7dys89iqfqza6ssvq51l"; + name = "spectacle-20.12.1.tar.xz"; }; }; step = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/step-20.08.3.tar.xz"; - sha256 = "05ljsmgpra1az64yddy8idi46cv3afaf2v4n7d5j81a8vvlz7fj1"; - name = "step-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/step-20.12.1.tar.xz"; + sha256 = "05xj4zv4r82nnz5rzb0rmrps4dagnkw9f5lapil5mi1i1gwqfi2k"; + name = "step-20.12.1.tar.xz"; }; }; svgpart = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/svgpart-20.08.3.tar.xz"; - sha256 = "0wwq576dblqmfknr0qs8kskw7nar6hah95fqicdn97xdy4nvzhc6"; - name = "svgpart-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/svgpart-20.12.1.tar.xz"; + sha256 = "09n0pf5saww8gppmd501i3dfr13yvn4r2rfbdz42zlvcpcpgxdry"; + name = "svgpart-20.12.1.tar.xz"; }; }; sweeper = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/sweeper-20.08.3.tar.xz"; - sha256 = "0i4zvbljdzkj47vh8kizam7vsc9k7mvf8dqd2j6ixr4p0cqvw5a8"; - name = "sweeper-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/sweeper-20.12.1.tar.xz"; + sha256 = "06a9a9vbkfhmlcc927ysa0qnp5qqbl5iywhkgbvyz90nsdaw3jjl"; + name = "sweeper-20.12.1.tar.xz"; }; }; umbrello = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/umbrello-20.08.3.tar.xz"; - sha256 = "1hh5gyggb4f3pjip8dfvx00hi83gj65c92jgzkzahj7p35mkplgl"; - name = "umbrello-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/umbrello-20.12.1.tar.xz"; + sha256 = "07fxxyw5zn1xj05kjr16rkgpj7ms9xvgpj4zlg428037gfa8g9vl"; + name = "umbrello-20.12.1.tar.xz"; }; }; yakuake = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/yakuake-20.08.3.tar.xz"; - sha256 = "05zd2xm5vgrgz0bxbkh1mpiknlqzpzk5jb74lnd5x7wn5b80ngv0"; - name = "yakuake-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/yakuake-20.12.1.tar.xz"; + sha256 = "02pal9xx1wbpw7dimvs2aw1xnyjqlvbjlybkkfhf8x7c6m1r63aa"; + name = "yakuake-20.12.1.tar.xz"; }; }; zeroconf-ioslave = { - version = "20.08.3"; + version = "20.12.1"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.3/src/zeroconf-ioslave-20.08.3.tar.xz"; - sha256 = "1afga0liiy9n98kb0gmxzbb6ckhdgbrdc4ig1x9pwp98wr1fzmcg"; - name = "zeroconf-ioslave-20.08.3.tar.xz"; + url = "${mirror}/stable/release-service/20.12.1/src/zeroconf-ioslave-20.12.1.tar.xz"; + sha256 = "1lx94qgrqhyva3nv7sgzy0blbdgx3b6m0g0i0psg74qckdh8glas"; + name = "zeroconf-ioslave-20.12.1.tar.xz"; }; }; } diff --git a/pkgs/applications/misc/audio/sox/0001-musl-rewind-pipe-workaround.patch b/pkgs/applications/misc/audio/sox/0001-musl-rewind-pipe-workaround.patch new file mode 100644 index 00000000000..6aacbcc65bc --- /dev/null +++ b/pkgs/applications/misc/audio/sox/0001-musl-rewind-pipe-workaround.patch @@ -0,0 +1,24 @@ +From e7446c9bcb47674c9d0ee3b5bab129e9b86eb1c9 Mon Sep 17 00:00:00 2001 +From: Walter Franzini <walter.franzini@gmail.com> +Date: Fri, 7 Jun 2019 17:57:11 +0200 +Subject: [PATCH] musl does not support rewind pipe, make it build anyway + +--- + src/formats.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/formats.c b/src/formats.c +index f3efe764..477bf451 100644 +--- a/src/formats.c ++++ b/src/formats.c +@@ -424,7 +424,6 @@ static void UNUSED rewind_pipe(FILE * fp) + /* To fix this #error, either simply remove the #error line and live without + * file-type detection with pipes, or add support for your compiler in the + * lines above. Test with cat monkey.wav | ./sox --info - */ +- #error FIX NEEDED HERE + #define NO_REWIND_PIPE + (void)fp; + #endif +-- +2.19.2 + diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix index dd5dbde5286..946150d2b88 100644 --- a/pkgs/applications/misc/audio/sox/default.nix +++ b/pkgs/applications/misc/audio/sox/default.nix @@ -27,6 +27,8 @@ stdenv.mkDerivation rec { # configure.ac uses pkg-config only to locate libopusfile nativeBuildInputs = optional enableOpusfile pkg-config; + patches = [ ./0001-musl-rewind-pipe-workaround.patch ]; + buildInputs = optional (enableAlsa && stdenv.isLinux) alsaLib ++ optional enableLibao libao ++ diff --git a/pkgs/applications/networking/browsers/castor/default.nix b/pkgs/applications/networking/browsers/castor/default.nix index be3d8295f99..daead82e485 100644 --- a/pkgs/applications/networking/browsers/castor/default.nix +++ b/pkgs/applications/networking/browsers/castor/default.nix @@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec { postInstall = "make PREFIX=$out copy-data"; # Sometimes tests fail when run in parallel - cargoParallelTestThreads = false; + dontUseCargoParallelThreads = true; meta = with lib; { description = "A graphical client for plain-text protocols written in Rust with GTK. It currently supports the Gemini, Gopher and Finger protocols"; diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 90f6ba5ac5a..8761fc9fbca 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -8,6 +8,7 @@ , svnSupport, subversionClient, perlLibs, smtpPerlLibs , perlSupport ? true , nlsSupport ? true +, osxkeychainSupport ? stdenv.isDarwin , guiSupport , withManual ? true , pythonSupport ? true @@ -19,11 +20,12 @@ , gzip # needed at runtime by gitweb.cgi }: +assert osxkeychainSupport -> stdenv.isDarwin; assert sendEmailSupport -> perlSupport; assert svnSupport -> perlSupport; let - version = "2.30.0"; + version = "2.30.1"; svn = subversionClient.override { perlBindings = perlSupport; }; gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ]; @@ -35,7 +37,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "06ad6dylgla34k9am7d5z8y3rryc8ln3ibq5z0d74rcm20hm0wsm"; + sha256 = "0rwlbps9x8kgk2hsm0bvsrkpsk9bnbnz8alknbd7i688jnhai27r"; }; outputs = [ "out" ] ++ lib.optional withManual "doc"; @@ -115,7 +117,7 @@ stdenv.mkDerivation { make -C contrib/subtree '' + (lib.optionalString perlSupport '' make -C contrib/diff-highlight - '') + (lib.optionalString stdenv.isDarwin '' + '') + (lib.optionalString osxkeychainSupport '' make -C contrib/credential/osxkeychain '') + (lib.optionalString withLibsecret '' make -C contrib/credential/libsecret @@ -129,7 +131,7 @@ stdenv.mkDerivation { installFlags = [ "NO_INSTALL_HARDLINKS=1" ]; - preInstall = (lib.optionalString stdenv.isDarwin '' + preInstall = (lib.optionalString osxkeychainSupport '' mkdir -p $out/bin ln -s $out/share/git/contrib/credential/osxkeychain/git-credential-osxkeychain $out/bin/ rm -f $PWD/contrib/credential/osxkeychain/git-credential-osxkeychain.o @@ -248,8 +250,8 @@ stdenv.mkDerivation { notSupported "$out/$prog" done '') - + lib.optionalString stdenv.isDarwin '' - # enable git-credential-osxkeychain by default if darwin + + lib.optionalString osxkeychainSupport '' + # enable git-credential-osxkeychain on darwin if desired (default) mkdir -p $out/etc cat > $out/etc/gitconfig << EOF [credential] diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 341e2850437..c8af8789fcc 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -451,6 +451,8 @@ stdenv.mkDerivation { hardening_unsupported_flags+=" stackprotector pic" '' + optionalString (targetPlatform.libc == "newlib") '' hardening_unsupported_flags+=" stackprotector fortify pie pic" + '' + optionalString (targetPlatform.libc == "musl" && targetPlatform.isx86_32) '' + hardening_unsupported_flags+=" stackprotector" '' + optionalString targetPlatform.isNetBSD '' hardening_unsupported_flags+=" stackprotector fortify" '' + optionalString cc.langAda or false '' diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index dc86a7dc581..a7bd296d673 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -2,8 +2,10 @@ , lib , buildPackages , cacert -, cargo -, diffutils +, cargoBuildHook +, cargoCheckHook +, cargoInstallHook +, cargoSetupHook , fetchCargoTarball , runCommandNoCC , rustPlatform @@ -34,14 +36,11 @@ , nativeBuildInputs ? [] , cargoUpdateHook ? "" , cargoDepsHook ? "" -, cargoBuildFlags ? [] , buildType ? "release" , meta ? {} -, target ? rust.toRustTargetSpec stdenv.hostPlatform , cargoVendorDir ? null , checkType ? buildType , depsExtraArgs ? {} -, cargoParallelTestThreads ? true # Toggles whether a custom sysroot is created when the target is a .json file. , __internal_dontAddSysroot ? false @@ -71,19 +70,7 @@ let # against the src fixed-output derivation to check consistency. validateCargoDeps = !(cargoHash == "" && cargoSha256 == ""); - # Some cargo builds include build hooks that modify their own vendor - # dependencies. This copies the vendor directory into the build tree and makes - # it writable. If we're using a tarball, the unpackFile hook already handles - # this for us automatically. - setupVendorDir = if cargoVendorDir == null - then ('' - unpackFile "$cargoDeps" - cargoDepsCopy=$(stripHash $cargoDeps) - '') - else '' - cargoDepsCopy="$sourceRoot/${cargoVendorDir}" - ''; - + target = rust.toRustTargetSpec stdenv.hostPlatform; targetIsJSON = lib.hasSuffix ".json" target; useSysroot = targetIsJSON && !__internal_dontAddSysroot; @@ -99,18 +86,6 @@ let originalCargoToml = src + /Cargo.toml; # profile info is later extracted }; - ccForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc"; - cxxForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++"; - ccForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"; - cxxForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"; - releaseDir = "target/${shortTarget}/${buildType}"; - tmpDir = "${releaseDir}-tmp"; - - # Specify the stdenv's `diff` by abspath to ensure that the user's build - # inputs do not cause us to find the wrong `diff`. - # The `.nativeDrv` stanza works like nativeBuildInputs and ensures cross-compiling has the right version available. - diff = "${diffutils.nativeDrv or diffutils}/bin/diff"; - in # Tests don't currently work for `no_std`, and all custom sysroots are currently built without `std`. @@ -120,11 +95,22 @@ assert useSysroot -> !(args.doCheck or true); stdenv.mkDerivation ((removeAttrs args ["depsExtraArgs"]) // lib.optionalAttrs useSysroot { RUSTFLAGS = "--sysroot ${sysroot} " + (args.RUSTFLAGS or ""); } // { - inherit cargoDeps; + inherit buildAndTestSubdir cargoDeps; + + cargoBuildType = buildType; patchRegistryDeps = ./patch-registry-deps; - nativeBuildInputs = nativeBuildInputs ++ [ cacert git cargo rustc ]; + nativeBuildInputs = nativeBuildInputs ++ [ + cacert + git + cargoBuildHook + cargoCheckHook + cargoInstallHook + cargoSetupHook + rustc + ]; + buildInputs = buildInputs ++ lib.optional stdenv.hostPlatform.isMinGW windows.pthreads; patches = cargoPatches ++ patches; @@ -135,147 +121,18 @@ stdenv.mkDerivation ((removeAttrs args ["depsExtraArgs"]) // lib.optionalAttrs u postUnpack = '' eval "$cargoDepsHook" - ${setupVendorDir} - - mkdir .cargo - config="$(pwd)/$cargoDepsCopy/.cargo/config"; - if [[ ! -e $config ]]; then - config=${./fetchcargo-default-config.toml}; - fi; - substitute $config .cargo/config \ - --subst-var-by vendor "$(pwd)/$cargoDepsCopy" - - cat >> .cargo/config <<'EOF' - [target."${rust.toRustTarget stdenv.buildPlatform}"] - "linker" = "${ccForBuild}" - ${lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) '' - [target."${shortTarget}"] - "linker" = "${ccForHost}" - ${# https://github.com/rust-lang/rust/issues/46651#issuecomment-433611633 - lib.optionalString (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isAarch64) '' - "rustflags" = [ "-C", "target-feature=+crt-static", "-C", "link-arg=-lgcc" ] - ''} - ''} - EOF - export RUST_LOG=${logLevel} '' + (args.postUnpack or ""); - # After unpacking and applying patches, check that the Cargo.lock matches our - # src package. Note that we do this after the patchPhase, because the - # patchPhase may create the Cargo.lock if upstream has not shipped one. - postPatch = (args.postPatch or "") + lib.optionalString validateCargoDeps '' - cargoDepsLockfile=$NIX_BUILD_TOP/$cargoDepsCopy/Cargo.lock - srcLockfile=$NIX_BUILD_TOP/$sourceRoot/Cargo.lock - - echo "Validating consistency between $srcLockfile and $cargoDepsLockfile" - if ! ${diff} $srcLockfile $cargoDepsLockfile; then - - # If the diff failed, first double-check that the file exists, so we can - # give a friendlier error msg. - if ! [ -e $srcLockfile ]; then - echo "ERROR: Missing Cargo.lock from src. Expected to find it at: $srcLockfile" - echo "Hint: You can use the cargoPatches attribute to add a Cargo.lock manually to the build." - exit 1 - fi - - if ! [ -e $cargoDepsLockfile ]; then - echo "ERROR: Missing lockfile from cargo vendor. Expected to find it at: $cargoDepsLockfile" - exit 1 - fi - - echo - echo "ERROR: cargoSha256 is out of date" - echo - echo "Cargo.lock is not the same in $cargoDepsCopy" - echo - echo "To fix the issue:" - echo '1. Use "0000000000000000000000000000000000000000000000000000" as the cargoSha256 value' - echo "2. Build the derivation and wait for it to fail with a hash mismatch" - echo "3. Copy the 'got: sha256:' value back into the cargoSha256 field" - echo - - exit 1 - fi - '' + '' - unset cargoDepsCopy - ''; - configurePhase = args.configurePhase or '' runHook preConfigure runHook postConfigure ''; - buildPhase = with builtins; args.buildPhase or '' - ${lib.optionalString (buildAndTestSubdir != null) "pushd ${buildAndTestSubdir}"} - runHook preBuild - - ( - set -x - env \ - "CC_${rust.toRustTarget stdenv.buildPlatform}"="${ccForBuild}" \ - "CXX_${rust.toRustTarget stdenv.buildPlatform}"="${cxxForBuild}" \ - "CC_${rust.toRustTarget stdenv.hostPlatform}"="${ccForHost}" \ - "CXX_${rust.toRustTarget stdenv.hostPlatform}"="${cxxForHost}" \ - cargo build -j $NIX_BUILD_CORES \ - ${lib.optionalString (buildType == "release") "--release"} \ - --target ${target} \ - --frozen ${concatStringsSep " " cargoBuildFlags} - ) - - runHook postBuild - - ${lib.optionalString (buildAndTestSubdir != null) "popd"} - - # This needs to be done after postBuild: packages like `cargo` do a pushd/popd in - # the pre/postBuild-hooks that need to be taken into account before gathering - # all binaries to install. - mkdir -p $tmpDir - cp -r $releaseDir/* $tmpDir/ - bins=$(find $tmpDir \ - -maxdepth 1 \ - -type f \ - -executable ! \( -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \)) - ''; - - checkPhase = args.checkPhase or (let - argstr = "${lib.optionalString (checkType == "release") "--release"} --target ${target} --frozen"; - threads = if cargoParallelTestThreads then "$NIX_BUILD_CORES" else "1"; - in '' - ${lib.optionalString (buildAndTestSubdir != null) "pushd ${buildAndTestSubdir}"} - runHook preCheck - echo "Running cargo test ${argstr} -- ''${checkFlags} ''${checkFlagsArray+''${checkFlagsArray[@]}}" - cargo test -j $NIX_BUILD_CORES ${argstr} -- --test-threads=${threads} ''${checkFlags} ''${checkFlagsArray+"''${checkFlagsArray[@]}"} - runHook postCheck - ${lib.optionalString (buildAndTestSubdir != null) "popd"} - ''); - doCheck = args.doCheck or true; strictDeps = true; - inherit releaseDir tmpDir; - - installPhase = args.installPhase or '' - runHook preInstall - - # rename the output dir to a architecture independent one - mapfile -t targets < <(find "$NIX_BUILD_TOP" -type d | grep '${tmpDir}$') - for target in "''${targets[@]}"; do - rm -rf "$target/../../${buildType}" - ln -srf "$target" "$target/../../" - done - mkdir -p $out/bin $out/lib - - xargs -r cp -t $out/bin <<< $bins - find $tmpDir \ - -maxdepth 1 \ - -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \ - -print0 | xargs -r -0 cp -t $out/lib - rmdir --ignore-fail-on-non-empty $out/lib $out/bin - runHook postInstall - ''; - passthru = { inherit cargoDeps; } // (args.passthru or {}); meta = { diff --git a/pkgs/build-support/rust/fetchCargoTarball.nix b/pkgs/build-support/rust/fetchCargoTarball.nix index c30e88d99b8..3b36554e707 100644 --- a/pkgs/build-support/rust/fetchCargoTarball.nix +++ b/pkgs/build-support/rust/fetchCargoTarball.nix @@ -21,7 +21,7 @@ in , src ? null , srcs ? [] , patches ? [] -, sourceRoot +, sourceRoot ? "" , hash ? "" , sha256 ? "" , cargoUpdateHook ? "" diff --git a/pkgs/build-support/rust/hooks/cargo-build-hook.sh b/pkgs/build-support/rust/hooks/cargo-build-hook.sh new file mode 100644 index 00000000000..54f4512d67c --- /dev/null +++ b/pkgs/build-support/rust/hooks/cargo-build-hook.sh @@ -0,0 +1,35 @@ +declare -a cargoBuildFlags + +cargoBuildHook() { + echo "Executing cargoBuildHook" + + runHook preBuild + + if [ ! -z "${buildAndTestSubdir-}" ]; then + pushd "${buildAndTestSubdir}" + fi + + ( + set -x + env \ + "CC_@rustBuildPlatform@=@ccForBuild@" \ + "CXX_@rustBuildPlatform@=@cxxForBuild@" \ + "CC_@rustTargetPlatform@=@ccForHost@" \ + "CXX_@rustTargetPlatform@=@cxxForHost@" \ + cargo build -j $NIX_BUILD_CORES \ + --target @rustTargetPlatformSpec@ \ + --frozen \ + --${cargoBuildType} \ + ${cargoBuildFlags} + ) + + if [ ! -z "${buildAndTestSubdir-}" ]; then + popd + fi + + runHook postBuild + + echo "Finished cargoBuildHook" +} + +buildPhase=cargoBuildHook diff --git a/pkgs/build-support/rust/hooks/cargo-check-hook.sh b/pkgs/build-support/rust/hooks/cargo-check-hook.sh new file mode 100644 index 00000000000..8c5b1a13219 --- /dev/null +++ b/pkgs/build-support/rust/hooks/cargo-check-hook.sh @@ -0,0 +1,41 @@ +declare -a checkFlags + +cargoCheckHook() { + echo "Executing cargoCheckHook" + + runHook preCheck + + if [[ -n "${buildAndTestSubdir-}" ]]; then + pushd "${buildAndTestSubdir}" + fi + + if [[ -z ${dontUseCargoParallelTests-} ]]; then + threads=$NIX_BUILD_CORES + else + threads=1 + fi + + argstr="--${cargoBuildType} --target @rustTargetPlatformSpec@ --frozen"; + + ( + set -x + cargo test \ + -j $NIX_BUILD_CORES \ + ${argstr} -- \ + --test-threads=${threads} \ + ${checkFlags} \ + ${checkFlagsArray+"${checkFlagsArray[@]}"} + ) + + if [[ -n "${buildAndTestSubdir-}" ]]; then + popd + fi + + echo "Finished cargoCheckHook" + + runHook postCheck +} + +if [ -z "${checkPhase-}" ]; then + checkPhase=cargoCheckHook +fi diff --git a/pkgs/build-support/rust/hooks/cargo-install-hook.sh b/pkgs/build-support/rust/hooks/cargo-install-hook.sh new file mode 100644 index 00000000000..e6ffa300706 --- /dev/null +++ b/pkgs/build-support/rust/hooks/cargo-install-hook.sh @@ -0,0 +1,49 @@ +cargoInstallPostBuildHook() { + echo "Executing cargoInstallPostBuildHook" + + releaseDir=target/@shortTarget@/$cargoBuildType + tmpDir="${releaseDir}-tmp"; + + mkdir -p $tmpDir + cp -r ${releaseDir}/* $tmpDir/ + bins=$(find $tmpDir \ + -maxdepth 1 \ + -type f \ + -executable ! \( -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \)) + + echo "Finished cargoInstallPostBuildHook" +} + +cargoInstallHook() { + echo "Executing cargoInstallHook" + + runHook preInstall + + # rename the output dir to a architecture independent one + + releaseDir=target/@shortTarget@/$cargoBuildType + tmpDir="${releaseDir}-tmp"; + + mapfile -t targets < <(find "$NIX_BUILD_TOP" -type d | grep "${tmpDir}$") + for target in "${targets[@]}"; do + rm -rf "$target/../../${cargoBuildType}" + ln -srf "$target" "$target/../../" + done + mkdir -p $out/bin $out/lib + + xargs -r cp -t $out/bin <<< $bins + find $tmpDir \ + -maxdepth 1 \ + -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \ + -print0 | xargs -r -0 cp -t $out/lib + rmdir --ignore-fail-on-non-empty $out/lib $out/bin + runHook postInstall + + echo "Finished cargoInstallHook" +} + + +if [ -z "${installPhase-}" ]; then + installPhase=cargoInstallHook + postBuildHooks+=(cargoInstallPostBuildHook) +fi diff --git a/pkgs/build-support/rust/hooks/cargo-setup-hook.sh b/pkgs/build-support/rust/hooks/cargo-setup-hook.sh new file mode 100644 index 00000000000..0fddd30582a --- /dev/null +++ b/pkgs/build-support/rust/hooks/cargo-setup-hook.sh @@ -0,0 +1,84 @@ +cargoSetupPostUnpackHook() { + echo "Executing cargoSetupPostUnpackHook" + + # Some cargo builds include build hooks that modify their own vendor + # dependencies. This copies the vendor directory into the build tree and makes + # it writable. If we're using a tarball, the unpackFile hook already handles + # this for us automatically. + if [ -z $cargoVendorDir ]; then + unpackFile "$cargoDeps" + export cargoDepsCopy=$(stripHash $cargoDeps) + else + cargoDepsCopy="$sourceRoot/${cargoRoot:+$cargoRoot/}${cargoVendorDir}" + fi + + if [ ! -d .cargo ]; then + mkdir .cargo + fi + + config="$(pwd)/$cargoDepsCopy/.cargo/config"; + if [[ ! -e $config ]]; then + config=@defaultConfig@ + fi; + + tmp_config=$(mktemp) + substitute $config $tmp_config \ + --subst-var-by vendor "$(pwd)/$cargoDepsCopy" + cat ${tmp_config} >> .cargo/config + + cat >> .cargo/config <<'EOF' + @rustTarget@ +EOF + + echo "Finished cargoSetupPostUnpackHook" +} + +# After unpacking and applying patches, check that the Cargo.lock matches our +# src package. Note that we do this after the patchPhase, because the +# patchPhase may create the Cargo.lock if upstream has not shipped one. +cargoSetupPostPatchHook() { + echo "Executing cargoSetupPostPatchHook" + + cargoDepsLockfile="$NIX_BUILD_TOP/$cargoDepsCopy/Cargo.lock" + srcLockfile="$NIX_BUILD_TOP/$sourceRoot/${cargoRoot:+$cargoRoot/}/Cargo.lock" + + echo "Validating consistency between $srcLockfile and $cargoDepsLockfile" + if ! @diff@ $srcLockfile $cargoDepsLockfile; then + + # If the diff failed, first double-check that the file exists, so we can + # give a friendlier error msg. + if ! [ -e $srcLockfile ]; then + echo "ERROR: Missing Cargo.lock from src. Expected to find it at: $srcLockfile" + echo "Hint: You can use the cargoPatches attribute to add a Cargo.lock manually to the build." + exit 1 + fi + + if ! [ -e $cargoDepsLockfile ]; then + echo "ERROR: Missing lockfile from cargo vendor. Expected to find it at: $cargoDepsLockfile" + exit 1 + fi + + echo + echo "ERROR: cargoSha256 is out of date" + echo + echo "Cargo.lock is not the same in $cargoDepsCopy" + echo + echo "To fix the issue:" + echo '1. Use "0000000000000000000000000000000000000000000000000000" as the cargoSha256 value' + echo "2. Build the derivation and wait for it to fail with a hash mismatch" + echo "3. Copy the 'got: sha256:' value back into the cargoSha256 field" + echo + + exit 1 + fi + + unset cargoDepsCopy + + echo "Finished cargoSetupPostPatchHook" +} + +postUnpackHooks+=(cargoSetupPostUnpackHook) + +if [ -z ${cargoVendorDir-} ]; then + postPatchHooks+=(cargoSetupPostPatchHook) +fi diff --git a/pkgs/build-support/rust/hooks/default.nix b/pkgs/build-support/rust/hooks/default.nix new file mode 100644 index 00000000000..e8927e2b542 --- /dev/null +++ b/pkgs/build-support/rust/hooks/default.nix @@ -0,0 +1,94 @@ +{ buildPackages +, callPackage +, cargo +, diffutils +, lib +, makeSetupHook +, maturin +, rust +, stdenv +, target ? rust.toRustTargetSpec stdenv.hostPlatform +}: + +let + targetIsJSON = lib.hasSuffix ".json" target; + + # see https://github.com/rust-lang/cargo/blob/964a16a28e234a3d397b2a7031d4ab4a428b1391/src/cargo/core/compiler/compile_kind.rs#L151-L168 + # the "${}" is needed to transform the path into a /nix/store path before baseNameOf + shortTarget = if targetIsJSON then + (lib.removeSuffix ".json" (builtins.baseNameOf "${target}")) + else target; + ccForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc"; + cxxForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++"; + ccForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"; + cxxForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"; + rustBuildPlatform = rust.toRustTarget stdenv.buildPlatform; + rustTargetPlatform = rust.toRustTarget stdenv.hostPlatform; + rustTargetPlatformSpec = rust.toRustTargetSpec stdenv.hostPlatform; +in { + cargoBuildHook = callPackage ({ }: + makeSetupHook { + name = "cargo-build-hook.sh"; + deps = [ cargo ]; + substitutions = { + inherit ccForBuild ccForHost cxxForBuild cxxForHost + rustBuildPlatform rustTargetPlatform rustTargetPlatformSpec; + }; + } ./cargo-build-hook.sh) {}; + + cargoCheckHook = callPackage ({ }: + makeSetupHook { + name = "cargo-check-hook.sh"; + deps = [ cargo ]; + substitutions = { + inherit rustTargetPlatformSpec; + }; + } ./cargo-check-hook.sh) {}; + + cargoInstallHook = callPackage ({ }: + makeSetupHook { + name = "cargo-install-hook.sh"; + deps = [ ]; + substitutions = { + inherit shortTarget; + }; + } ./cargo-install-hook.sh) {}; + + cargoSetupHook = callPackage ({ }: + makeSetupHook { + name = "cargo-setup-hook.sh"; + deps = [ ]; + substitutions = { + defaultConfig = ../fetchcargo-default-config.toml; + + # Specify the stdenv's `diff` by abspath to ensure that the user's build + # inputs do not cause us to find the wrong `diff`. + # The `.nativeDrv` stanza works like nativeBuildInputs and ensures cross-compiling has the right version available. + diff = "${diffutils.nativeDrv or diffutils}/bin/diff"; + + # Target platform + rustTarget = '' + [target."${rust.toRustTarget stdenv.buildPlatform}"] + "linker" = "${ccForBuild}" + ${lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) '' + [target."${shortTarget}"] + "linker" = "${ccForHost}" + ${# https://github.com/rust-lang/rust/issues/46651#issuecomment-433611633 + lib.optionalString (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isAarch64) '' + "rustflags" = [ "-C", "target-feature=+crt-static", "-C", "link-arg=-lgcc" ] + ''} + ''} + ''; + }; + } ./cargo-setup-hook.sh) {}; + + maturinBuildHook = callPackage ({ }: + makeSetupHook { + name = "maturin-build-hook.sh"; + deps = [ cargo maturin ]; + substitutions = { + inherit ccForBuild ccForHost cxxForBuild cxxForHost + rustBuildPlatform rustTargetPlatform rustTargetPlatformSpec; + }; + } ./maturin-build-hook.sh) {}; +} diff --git a/pkgs/build-support/rust/hooks/maturin-build-hook.sh b/pkgs/build-support/rust/hooks/maturin-build-hook.sh new file mode 100644 index 00000000000..7e2599d9224 --- /dev/null +++ b/pkgs/build-support/rust/hooks/maturin-build-hook.sh @@ -0,0 +1,39 @@ +maturinBuildHook() { + echo "Executing maturinBuildHook" + + runHook preBuild + + if [ ! -z "${buildAndTestSubdir-}" ]; then + pushd "${buildAndTestSubdir}" + fi + + ( + set -x + env \ + "CC_@rustBuildPlatform@=@ccForBuild@" \ + "CXX_@rustBuildPlatform@=@cxxForBuild@" \ + "CC_@rustTargetPlatform@=@ccForHost@" \ + "CXX_@rustTargetPlatform@=@cxxForHost@" \ + maturin build \ + --cargo-extra-args="-j $NIX_BUILD_CORES --frozen" \ + --target @rustTargetPlatformSpec@ \ + --manylinux off \ + --strip \ + --release \ + ${maturinBuildFlags-} + ) + + runHook postBuild + + if [ ! -z "${buildAndTestSubdir-}" ]; then + popd + fi + + # Move the wheel to dist/ so that regular Python tooling can find it. + mkdir -p dist + mv target/wheels/*.whl dist/ + + echo "Finished maturinBuildHook" +} + +buildPhase=maturinBuildHook diff --git a/pkgs/build-support/setup-systemd-units.nix b/pkgs/build-support/setup-systemd-units.nix index 4fa2f42c39d..4c7ee86669f 100644 --- a/pkgs/build-support/setup-systemd-units.nix +++ b/pkgs/build-support/setup-systemd-units.nix @@ -58,7 +58,7 @@ unitDir=/etc/systemd/system if [ ! -w "$unitDir" ]; then - unitDir=/etc/systemd-mutable/system + unitDir=/nix/var/nix/profiles/default/lib/systemd/system mkdir -p "$unitDir" fi declare -a unitsToStop unitsToStart diff --git a/pkgs/data/themes/matcha/default.nix b/pkgs/data/themes/matcha/default.nix index f7f139a9ea9..5297fe05683 100644 --- a/pkgs/data/themes/matcha/default.nix +++ b/pkgs/data/themes/matcha/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "matcha-gtk-theme"; - version = "2021-01-12"; + version = "2021-02-04"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - sha256 = "1h6y89aajygbp1rc3d5dw2vgb64a3hiajlifb4xnzhycc77vjskr"; + sha256 = "sha256-CDym+yqLu7QpqmdUpXAbJTCjQf/r9D1sl7ZdpaWaXFE="; }; buildInputs = [ gdk-pixbuf librsvg ]; diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix index 0fcad6c333f..1c5fd67f2d9 100644 --- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix +++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix @@ -4,16 +4,31 @@ sourcePerArch: , lib , fetchurl , autoPatchelfHook +, makeWrapper +# minimum dependencies , alsaLib -, freetype , fontconfig -, zlib -, xorg +, freetype , libffi +, xorg +, zlib +# runtime dependencies +, cups +# runtime dependencies for GTK+ Look and Feel +, gtkSupport ? true +, cairo +, glib +, gtk3 }: let cpuName = stdenv.hostPlatform.parsed.cpu.name; + runtimeDependencies = [ + cups + ] ++ lib.optionals gtkSupport [ + cairo glib gtk3 + ]; + runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies; in let result = stdenv.mkDerivation rec { @@ -28,11 +43,19 @@ let result = stdenv.mkDerivation rec { }; buildInputs = [ - alsaLib freetype fontconfig zlib xorg.libX11 xorg.libXext xorg.libXtst - xorg.libXi xorg.libXrender stdenv.cc.cc.lib + alsaLib # libasound.so wanted by lib/libjsound.so + fontconfig + freetype + stdenv.cc.cc.lib # libstdc++.so.6 + xorg.libX11 + xorg.libXext + xorg.libXi + xorg.libXrender + xorg.libXtst + zlib ] ++ lib.optional stdenv.isAarch32 libffi; - nativeBuildInputs = [ autoPatchelfHook ]; + nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; # See: https://github.com/NixOS/patchelf/issues/10 dontStrip = 1; @@ -57,6 +80,13 @@ let result = stdenv.mkDerivation rec { cat <<EOF >> "$out/nix-support/setup-hook" if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi EOF + + # We cannot use -exec since wrapProgram is a function but not a command. + for bin in $( find "$out" -executable -type f ); do + if patchelf --print-interpreter "$bin" &> /dev/null; then + wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}" + fi + done ''; preFixup = '' diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index fa7881e398a..93c9dde61fc 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -78,7 +78,11 @@ let majorVersion = "6"; ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch # Obtain latest patch with ../update-mcfgthread-patches.sh - ++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch; + ++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch + ++ optional (targetPlatform.libc == "musl" && targetPlatform.isx86_32) (fetchpatch { + url = "https://git.alpinelinux.org/aports/plain/main/gcc/gcc-6.1-musl-libssp.patch?id=5e4b96e23871ee28ef593b439f8c07ca7c7eb5bb"; + sha256 = "1jf1ciz4gr49lwyh8knfhw6l5gvfkwzjy90m7qiwkcbsf4a3fqn2"; + }); javaEcj = fetchurl { # The `$(top_srcdir)/ecj.jar' file is automatically picked up at diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 2ea9033ba63..d9b4c639b5a 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -72,6 +72,10 @@ let majorVersion = "7"; }) ++ optional langFortran ../gfortran-driving.patch ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch + ++ optional (targetPlatform.libc == "musl" && targetPlatform.isx86_32) (fetchpatch { + url = "https://git.alpinelinux.org/aports/plain/main/gcc/gcc-6.1-musl-libssp.patch?id=5e4b96e23871ee28ef593b439f8c07ca7c7eb5bb"; + sha256 = "1jf1ciz4gr49lwyh8knfhw6l5gvfkwzjy90m7qiwkcbsf4a3fqn2"; + }) ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch # Obtain latest patch with ../update-mcfgthread-patches.sh diff --git a/pkgs/development/compilers/gcc/common/configure-flags.nix b/pkgs/development/compilers/gcc/common/configure-flags.nix index 4bdec26fd99..443ed19235d 100644 --- a/pkgs/development/compilers/gcc/common/configure-flags.nix +++ b/pkgs/development/compilers/gcc/common/configure-flags.nix @@ -94,9 +94,6 @@ let # In uclibc cases, libgomp needs an additional '-ldl' # and as I don't know how to pass it, I disable libgomp. "--disable-libgomp" - ] ++ lib.optionals (targetPlatform.libc == "musl") [ - # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865 - "--disable-libmpx" ] ++ lib.optional (targetPlatform.libc == "newlib") "--with-newlib" ++ lib.optional (targetPlatform.libc == "avrlibc") "--with-avrlibc" ); @@ -181,6 +178,9 @@ let # On Illumos/Solaris GNU as is preferred "--with-gnu-as" "--without-gnu-ld" ] + ++ lib.optional (targetPlatform.libc == "musl") + # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865 + "--disable-libmpx" ++ lib.optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [ "--disable-libsanitizer" "--disable-symvers" diff --git a/pkgs/development/compilers/graalvm/community-edition.nix b/pkgs/development/compilers/graalvm/community-edition.nix index 96ba9afc237..ea18be56250 100644 --- a/pkgs/development/compilers/graalvm/community-edition.nix +++ b/pkgs/development/compilers/graalvm/community-edition.nix @@ -1,7 +1,37 @@ -{ lib, stdenv, fetchurl, perl, unzip, glibc, zlib, setJavaClassPath, Foundation, openssl }: +{ stdenv +, lib +, fetchurl +, autoPatchelfHook +, setJavaClassPath +, makeWrapper +# minimum dependencies +, Foundation +, alsaLib +, fontconfig +, freetype +, glibc +, openssl +, perl +, unzip +, xorg +, zlib +# runtime dependencies +, cups +# runtime dependencies for GTK+ Look and Feel +, gtkSupport ? true +, cairo +, glib +, gtk3 +}: let platform = if stdenv.isDarwin then "darwin-amd64" else "linux-amd64"; + runtimeDependencies = [ + cups + ] ++ lib.optionals gtkSupport [ + cairo glib gtk3 + ]; + runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies; common = javaVersion: let javaVersionPlatform = "${javaVersion}-${platform}"; @@ -50,7 +80,27 @@ let url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/wasm-installable-svm-java${javaVersionPlatform}-${version}.jar"; }) ]; - nativeBuildInputs = [ unzip perl ]; + + buildInputs = lib.optionals stdenv.isLinux [ + alsaLib # libasound.so wanted by lib/libjsound.so + fontconfig + freetype + openssl # libssl.so wanted by languages/ruby/lib/mri/openssl.so + stdenv.cc.cc.lib # libstdc++.so.6 + xorg.libX11 + xorg.libXext + xorg.libXi + xorg.libXrender + xorg.libXtst + zlib + ]; + + # Workaround for libssl.so.10 wanted by TruffleRuby + # Resulting TruffleRuby cannot use `openssl` library. + autoPatchelfIgnoreMissingDeps = true; + + nativeBuildInputs = [ unzip perl autoPatchelfHook makeWrapper ]; + unpackPhase = '' unpack_jar() { jar=$1 @@ -136,32 +186,25 @@ let dontStrip = true; - # copy-paste openjdk's preFixup preFixup = '' + # We cannot use -exec since wrapProgram is a function but not a + # command. + for bin in $( find "$out" -executable -type f -not -path '*/languages/ruby/lib/gems/*' ); do + if patchelf --print-interpreter "$bin" &> /dev/null || head -n 1 "$bin" | grep '^#!' -q; then + wrapProgram "$bin" \ + --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}" + fi + done + + # copy-paste openjdk's preFixup # Set JAVA_HOME automatically. mkdir -p $out/nix-support cat <<EOF > $out/nix-support/setup-hook if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi EOF - ''; - - postFixup = '' - rpath="${ { "8" = "$out/jre/lib/amd64/jli:$out/jre/lib/amd64/server:$out/jre/lib/amd64:$out/jre/languages/ruby/lib/cext"; - "11" = "$out/lib/jli:$out/lib/server:$out/lib:$out/languages/ruby/lib/cext"; - }.${javaVersion} - }:${ - lib.makeLibraryPath [ - stdenv.cc.cc.lib # libstdc++.so.6 - zlib # libz.so.1 - ]}" - ${lib.optionalString stdenv.isLinux '' - for f in $(find $out -type f -perm -0100); do - patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f" || true - patchelf --set-rpath "$rpath" "$f" || true - if ldd "$f" | fgrep 'not found'; then echo "in file $f"; fi - done - ''} + find "$out" -name libfontmanager.so -exec \ + patchelf --add-needed libfontconfig.so {} \; ''; # $out/bin/native-image needs zlib to build native executables. diff --git a/pkgs/development/compilers/llvm/11/clang/default.nix b/pkgs/development/compilers/llvm/11/clang/default.nix index 3a3e384ad98..2e03112d827 100644 --- a/pkgs/development/compilers/llvm/11/clang/default.nix +++ b/pkgs/development/compilers/llvm/11/clang/default.nix @@ -8,7 +8,7 @@ let pname = "clang"; inherit version; - src = fetch "clang" "0kab4zmkxffg98a3rx95756jlwhxflalin5w05g1anpwxv175xbk"; + src = fetch "clang" "12sm91qx2m79cvj75a9aazf2x8xybjbd593dv6v7rxficpq8i0ha"; inherit clang-tools-extra_src; unpackPhase = '' diff --git a/pkgs/development/compilers/llvm/11/compiler-rt.nix b/pkgs/development/compilers/llvm/11/compiler-rt.nix index 091f327550b..5e9e4367685 100644 --- a/pkgs/development/compilers/llvm/11/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/11/compiler-rt.nix @@ -11,7 +11,7 @@ in stdenv.mkDerivation rec { pname = "compiler-rt"; inherit version; - src = fetch pname "1z470r8c5aahdwkmflglx998n0i77j8b1c69d7cir1kf27qy6yq8"; + src = fetch pname "0x1j8ngf1zj63wlnns9vlibafq48qcm72p4jpaxkmkb4qw0grwfy"; nativeBuildInputs = [ cmake python3 llvm ]; buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; diff --git a/pkgs/development/compilers/llvm/11/default.nix b/pkgs/development/compilers/llvm/11/default.nix index ca9ef4382b4..e4d9f45c955 100644 --- a/pkgs/development/compilers/llvm/11/default.nix +++ b/pkgs/development/compilers/llvm/11/default.nix @@ -6,7 +6,7 @@ }: let - release_version = "11.0.1"; + release_version = "11.1.0"; candidate = ""; # empty or "rcN" dash-candidate = lib.optionalString (candidate != "") "-${candidate}"; version = "${release_version}${dash-candidate}"; # differentiating these (variables) is important for RCs @@ -17,7 +17,7 @@ let inherit sha256; }; - clang-tools-extra_src = fetch "clang-tools-extra" "1j8n6n4l54k2lrdxh266y1fl4z8vy5dc76wsf0csk5n3ikfi38ic"; + clang-tools-extra_src = fetch "clang-tools-extra" "18n1w1hkv931xzq02b34wglbv6zd6sd0r5kb8piwvag7klj7qw3n"; tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); diff --git a/pkgs/development/compilers/llvm/11/libc++/default.nix b/pkgs/development/compilers/llvm/11/libc++/default.nix index 7a34977afe2..0bb1ae33acd 100644 --- a/pkgs/development/compilers/llvm/11/libc++/default.nix +++ b/pkgs/development/compilers/llvm/11/libc++/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation { pname = "libc++"; inherit version; - src = fetch "libcxx" "0gaybwkn76vhakvipxslp7pmv2wm7agxkqwk5f5aizhzc9lzdmcz"; + src = fetch "libcxx" "1rgqsqpgi0vkga5d7hy0iyfsqgzfz7q1xy7afdfa1snp1qjks8xv"; postUnpack = '' unpackFile ${libcxxabi.src} diff --git a/pkgs/development/compilers/llvm/11/libc++abi.nix b/pkgs/development/compilers/llvm/11/libc++abi.nix index 22e4ac4abe4..d941044ca60 100644 --- a/pkgs/development/compilers/llvm/11/libc++abi.nix +++ b/pkgs/development/compilers/llvm/11/libc++abi.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation { pname = "libc++abi"; inherit version; - src = fetch "libcxxabi" "0gv8pxq95gvsybldj21hdfkmm0r5cn1z7jhd72l231n0lmb70saa"; + src = fetch "libcxxabi" "1azcf31mxw59hb1x17xncnm3dyw90ylh8rqx462lvypqh3nr6c8l"; nativeBuildInputs = [ cmake ]; buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; diff --git a/pkgs/development/compilers/llvm/11/libunwind.nix b/pkgs/development/compilers/llvm/11/libunwind.nix index 1b5fe0f5788..0c635cabc0a 100644 --- a/pkgs/development/compilers/llvm/11/libunwind.nix +++ b/pkgs/development/compilers/llvm/11/libunwind.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { pname = "libunwind"; inherit version; - src = fetch pname "0zsixkaiwp007afxlpsf5dc7wfrv8sj9wxzjw6f1r4bjv1rv3cvd"; + src = fetch pname "1vpqs2c358v8fbr1r8jmzkfqk12jllimjcfmgxga127ksq9b37nj"; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/compilers/llvm/11/lld.nix b/pkgs/development/compilers/llvm/11/lld.nix index cead886f49b..1a16184a6e7 100644 --- a/pkgs/development/compilers/llvm/11/lld.nix +++ b/pkgs/development/compilers/llvm/11/lld.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { pname = "lld"; inherit version; - src = fetch pname "1dq82dkam8x2niha18v7ckh30zmzyclydzipqkf7h41r3ah0vfk0"; + src = fetch pname "1kk61i7z5bi9i11rzsd2b388d42if1c7a45zkaa4mk0yps67hyh1"; nativeBuildInputs = [ cmake ]; buildInputs = [ llvm libxml2 ]; diff --git a/pkgs/development/compilers/llvm/11/lldb.nix b/pkgs/development/compilers/llvm/11/lldb.nix index fcc73cfdeb6..2f54305736a 100644 --- a/pkgs/development/compilers/llvm/11/lldb.nix +++ b/pkgs/development/compilers/llvm/11/lldb.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation (rec { pname = "lldb"; inherit version; - src = fetch pname "1yzjbsn81l2r3v9js2fxrglkwvz1f2rxyxh6430nydbrs0bqklz8"; + src = fetch pname "1vlyg015dyng43xqb8cg2l6r9ix8klibxsajazbfnckdnh54hwxj"; patches = [ ./lldb-procfs.patch ]; diff --git a/pkgs/development/compilers/llvm/11/llvm.nix b/pkgs/development/compilers/llvm/11/llvm.nix index 868da1a5b20..cb44643ff78 100644 --- a/pkgs/development/compilers/llvm/11/llvm.nix +++ b/pkgs/development/compilers/llvm/11/llvm.nix @@ -32,8 +32,8 @@ in stdenv.mkDerivation (rec { pname = "llvm"; inherit version; - src = fetch pname "0a5mb65xa5bal8q6cb37xgkqis2bip87fsafgq3wbsva9cjprn6c"; - polly_src = fetch "polly" "1smrqm9s0r2g9h0v0nil6y9wn2ih4l5bddk4dhgn538ngc7cxpq8"; + src = fetch pname "199yq3a214avcbi4kk2q0ajriifkvsr0l2dkx3a666m033ihi1ff"; + polly_src = fetch "polly" "031r23ijhx7v93a5n33m2nc0x9xyqmx0d8xg80z7q971p6qd63sq"; unpackPhase = '' unpackFile $src diff --git a/pkgs/development/compilers/llvm/11/openmp.nix b/pkgs/development/compilers/llvm/11/openmp.nix index 5503a98ae5f..86e3faee090 100644 --- a/pkgs/development/compilers/llvm/11/openmp.nix +++ b/pkgs/development/compilers/llvm/11/openmp.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { pname = "openmp"; inherit version; - src = fetch pname "19rcv25y41ww3zlfg0lwprzijl3cn7jgc0v5540jzpp7j0ds45ad"; + src = fetch pname "0bh5cswgpc79awlq8j5i7hp355adaac7s6zaz0zwp6mkflxli1yi"; nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix index 18440a718d1..a24dca373f1 100644 --- a/pkgs/development/compilers/openjdk/11.nix +++ b/pkgs/development/compilers/openjdk/11.nix @@ -11,8 +11,8 @@ let major = "11"; minor = "0"; - update = "9"; - build = "11"; + update = "10"; + build = "9"; openjdk = stdenv.mkDerivation rec { pname = "openjdk" + lib.optionalString headless "-headless"; @@ -22,7 +22,7 @@ let owner = "openjdk"; repo = "jdk${major}u"; rev = "jdk-${version}"; - sha256 = "11j2rqz9nag5y562g99py4p72f2kv4wwwyrnaspmrzax00wynyx7"; + sha256 = "06pm3hpz4ggiqwvkgzxr39y9kga7vk4flakfznz5979bvgb926vw"; }; nativeBuildInputs = [ pkg-config autoconf ]; diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix index 4b1f572bebb..584b1fdbe43 100644 --- a/pkgs/development/compilers/rust/make-rust-platform.nix +++ b/pkgs/development/compilers/rust/make-rust-platform.nix @@ -12,7 +12,8 @@ rec { }; buildRustPackage = callPackage ../../../build-support/rust { - inherit rustc cargo fetchCargoTarball; + inherit cargoBuildHook cargoCheckHook cargoInstallHook cargoSetupHook + fetchCargoTarball rustc; }; rustcSrc = callPackage ./rust-src.nix { @@ -22,4 +23,9 @@ rec { rustLibSrc = callPackage ./rust-lib-src.nix { inherit rustc; }; + + # Hooks + inherit (callPackage ../../../build-support/rust/hooks { + inherit cargo; + }) cargoBuildHook cargoCheckHook cargoInstallHook cargoSetupHook maturinBuildHook; } diff --git a/pkgs/development/compilers/rust/rls/default.nix b/pkgs/development/compilers/rust/rls/default.nix index ee860d78258..f2835919631 100644 --- a/pkgs/development/compilers/rust/rls/default.nix +++ b/pkgs/development/compilers/rust/rls/default.nix @@ -2,7 +2,7 @@ , openssh, openssl, pkg-config, cmake, zlib, curl, libiconv , CoreFoundation, Security }: -rustPlatform.buildRustPackage { +rustPlatform.buildRustPackage rec { pname = "rls"; inherit (rustPlatform.rust.rustc) src version; @@ -14,7 +14,7 @@ rustPlatform.buildRustPackage { preBuild = '' # client tests are flaky - rm tests/client.rs + rm ${buildAndTestSubdir}/tests/client.rs ''; # a nightly compiler is required unless we use this cheat code. diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix index 2bc90539be1..dd1660d9fec 100644 --- a/pkgs/development/compilers/zulu/8.nix +++ b/pkgs/development/compilers/zulu/8.nix @@ -1,7 +1,24 @@ -{ stdenv, lib, fetchurl, unzip, makeWrapper, setJavaClassPath -, zulu, glib, libxml2, ffmpeg_3, libxslt, libGL, alsaLib -, fontconfig, freetype, pango, gtk2, cairo, gdk-pixbuf, atk, xorg -, swingSupport ? true }: +{ stdenv +, lib +, fetchurl +, autoPatchelfHook +, unzip +, makeWrapper +, setJavaClassPath +, zulu +# minimum dependencies +, alsaLib +, fontconfig +, freetype +, xorg +# runtime dependencies +, cups +# runtime dependencies for GTK+ Look and Feel +, gtkSupport ? stdenv.isLinux +, cairo +, glib +, gtk3 +}: let version = "8.48.0.53"; @@ -14,14 +31,12 @@ let hash = if stdenv.isDarwin then sha256_darwin else sha256_linux; extension = if stdenv.isDarwin then "zip" else "tar.gz"; - libraries = [ - stdenv.cc.libc glib libxml2 ffmpeg_3 libxslt libGL - xorg.libXxf86vm alsaLib fontconfig freetype pango - gtk2 cairo gdk-pixbuf atk - ] ++ (lib.optionals swingSupport (with xorg; [ - xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp - xorg.libXt xorg.libXrender stdenv.cc.cc - ])); + runtimeDependencies = [ + cups + ] ++ lib.optionals gtkSupport [ + cairo glib gtk3 + ]; + runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies; in stdenv.mkDerivation { inherit version openjdk platform hash extension; @@ -33,26 +48,28 @@ in stdenv.mkDerivation { sha256 = hash; }; - buildInputs = [ makeWrapper ] ++ lib.optional stdenv.isDarwin unzip; + buildInputs = lib.optionals stdenv.isLinux [ + alsaLib # libasound.so wanted by lib/libjsound.so + fontconfig + freetype + stdenv.cc.cc # libstdc++.so.6 + xorg.libX11 + xorg.libXext + xorg.libXi + xorg.libXrender + xorg.libXtst + ]; + + nativeBuildInputs = [ + autoPatchelfHook makeWrapper + ] ++ lib.optionals stdenv.isDarwin [ + unzip + ]; installPhase = '' mkdir -p $out cp -r ./* "$out/" - jrePath="$out/jre" - - rpath=$rpath''${rpath:+:}$jrePath/lib/amd64/jli - rpath=$rpath''${rpath:+:}$jrePath/lib/amd64/server - rpath=$rpath''${rpath:+:}$jrePath/lib/amd64/xawt - rpath=$rpath''${rpath:+:}$jrePath/lib/amd64 - - # set all the dynamic linkers - find $out -type f -perm -0100 \ - -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "$rpath" {} \; - - find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; - mkdir -p $out/nix-support printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs @@ -60,9 +77,19 @@ in stdenv.mkDerivation { cat <<EOF >> $out/nix-support/setup-hook if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi EOF + '' + lib.optionalString stdenv.isLinux '' + # We cannot use -exec since wrapProgram is a function but not a command. + for bin in $( find "$out" -executable -type f ); do + if patchelf --print-interpreter "$bin" &> /dev/null; then + wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}" + fi + done ''; - rpath = lib.strings.makeLibraryPath libraries; + preFixup = '' + find "$out" -name libfontmanager.so -exec \ + patchelf --add-needed libfontconfig.so {} \; + ''; passthru = { home = zulu; diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix index cbfa9997b8d..000530e66a7 100644 --- a/pkgs/development/compilers/zulu/default.nix +++ b/pkgs/development/compilers/zulu/default.nix @@ -1,7 +1,25 @@ -{ stdenv, lib, fetchurl, unzip, makeWrapper, setJavaClassPath -, zulu, glib, libxml2, ffmpeg_3, libxslt, libGL, alsaLib -, fontconfig, freetype, pango, gtk2, cairo, gdk-pixbuf, atk, xorg, zlib -, swingSupport ? true }: +{ stdenv +, lib +, fetchurl +, autoPatchelfHook +, unzip +, makeWrapper +, setJavaClassPath +, zulu +# minimum dependencies +, alsaLib +, fontconfig +, freetype +, zlib +, xorg +# runtime dependencies +, cups +# runtime dependencies for GTK+ Look and Feel +, gtkSupport ? stdenv.isLinux +, cairo +, glib +, gtk3 +}: let version = "11.41.23"; @@ -14,14 +32,12 @@ let hash = if stdenv.isDarwin then sha256_darwin else sha256_linux; extension = if stdenv.isDarwin then "zip" else "tar.gz"; - libraries = [ - stdenv.cc.libc glib libxml2 ffmpeg_3 libxslt libGL - xorg.libXxf86vm alsaLib fontconfig freetype pango - gtk2 cairo gdk-pixbuf atk zlib - ] ++ (lib.optionals swingSupport (with xorg; [ - xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp - xorg.libXt xorg.libXrender stdenv.cc.cc - ])); + runtimeDependencies = [ + cups + ] ++ lib.optionals gtkSupport [ + cairo glib gtk3 + ]; + runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies; in stdenv.mkDerivation { inherit version openjdk platform hash extension; @@ -33,23 +49,29 @@ in stdenv.mkDerivation { sha256 = hash; }; - buildInputs = [ makeWrapper ] ++ lib.optional stdenv.isDarwin unzip; + buildInputs = lib.optionals stdenv.isLinux [ + alsaLib # libasound.so wanted by lib/libjsound.so + fontconfig + freetype + stdenv.cc.cc # libstdc++.so.6 + xorg.libX11 + xorg.libXext + xorg.libXi + xorg.libXrender + xorg.libXtst + zlib + ]; + + nativeBuildInputs = [ + autoPatchelfHook makeWrapper + ] ++ lib.optionals stdenv.isDarwin [ + unzip + ]; installPhase = '' mkdir -p $out cp -r ./* "$out/" - rpath=$rpath''${rpath:+:}$out/lib/jli - rpath=$rpath''${rpath:+:}$out/lib/server - rpath=$rpath''${rpath:+:}$out/lib - - # set all the dynamic linkers - find $out -type f -perm -0100 \ - -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "$rpath" {} \; - - find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; - mkdir -p $out/nix-support printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs @@ -57,9 +79,17 @@ in stdenv.mkDerivation { cat <<EOF >> $out/nix-support/setup-hook if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi EOF + '' + lib.optionalString stdenv.isLinux '' + # We cannot use -exec since wrapProgram is a function but not a command. + for bin in $( find "$out" -executable -type f ); do + wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}" + done ''; - rpath = lib.strings.makeLibraryPath libraries; + preFixup = '' + find "$out" -name libfontmanager.so -exec \ + patchelf --add-needed libfontconfig.so {} \; + ''; passthru = { home = zulu; diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 75fe1bac8cb..66e0b284fc0 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -168,11 +168,11 @@ let priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl` }; } // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec { - crossVersion = "4c55233ae95a6aef4d93291fe8ad12709b11e575"; # Jan 21, 2021 + crossVersion = "1.3.5"; # Jan 24, 2021 perl-cross-src = fetchurl { url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz"; - sha256 = "04bxn43ir7b4c2bb1z1l71l93hrysjv00h879nm70m99q6vxq2hc"; + sha256 = "1sa2f8s1hc604g5y98w6m6y5q43s9jiyrpnp4b34zkfx1qs3w6l4"; }; depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ]; @@ -200,8 +200,8 @@ in { perl532 = common { perl = pkgs.perl532; buildPerl = buildPackages.perl532; - version = "5.32.0"; - sha256 = "1d6001cjnpxfv79000bx00vmv2nvdz7wrnyas451j908y7hirszg"; + version = "5.32.1"; + sha256 = "0b7brakq9xs4vavhg391as50nbhzryc7fy5i65r81bnq3j897dh3"; }; # the latest Devel version diff --git a/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh b/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh index 85811a37475..eb45205ff73 100644 --- a/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh +++ b/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh @@ -2,7 +2,7 @@ echo "Sourcing pytest-check-hook" declare -ar disabledTests -declare -ar disabledTestFiles +declare -ar disabledTestPaths function _concatSep { local result @@ -37,12 +37,12 @@ function pytestCheckPhase() { disabledTestsString=$(_pytestComputeDisabledTestsString "${disabledTests[@]}") args+=" -k \""$disabledTestsString"\"" fi - for file in ${disabledTestFiles[@]}; do - if [ ! -f "$file" ]; then - echo "Disabled test file \"$file\" does not exist. Aborting" + for path in ${disabledTestPaths[@]}; do + if [ ! -e "$path" ]; then + echo "Disabled tests path \"$path\" does not exist. Aborting" exit 1 fi - args+=" --ignore=\"$file\"" + args+=" --ignore=\"$path\"" done args+=" ${pytestFlagsArray[@]}" eval "@pythonCheckInterpreter@ $args" diff --git a/pkgs/development/interpreters/wasmer/default.nix b/pkgs/development/interpreters/wasmer/default.nix index 60ce4d89f19..91e13ed32cd 100644 --- a/pkgs/development/interpreters/wasmer/default.nix +++ b/pkgs/development/interpreters/wasmer/default.nix @@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec { # using the [makefile](https://github.com/wasmerio/wasmer/blob/master/Makefile). # Enabling cranelift as this used to be the old default. At least one backend is # needed for the run subcommand to work. - cargoBuildFlags = [ "--features 'backend-cranelift'" ]; + cargoBuildFlags = [ "--features" "backend-cranelift" ]; LIBCLANG_PATH = "${llvmPackages.libclang}/lib"; diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix index 79f09f48464..f074287ab16 100644 --- a/pkgs/development/libraries/audio/lilv/default.nix +++ b/pkgs/development/libraries/audio/lilv/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "lilv"; - version = "0.24.10"; + version = "0.24.12"; src = fetchurl { url = "https://download.drobilla.net/${pname}-${version}.tar.bz2"; - sha256 = "1565zy0yz46cf2f25pi46msdnzkj6bbhml9gfigdpjnsdlyskfyi"; + sha256 = "sha256-JqN3kIkMnB+DggO0f1sjIDNP6SwCpNJuu+Jmnb12kGE="; }; patches = [ ./lilv-pkgconfig.patch ]; diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix index 45caf0b36c5..616ad5b0c89 100644 --- a/pkgs/development/libraries/audio/lv2/default.nix +++ b/pkgs/development/libraries/audio/lv2/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "lv2"; - version = "1.18.0"; + version = "1.18.2"; src = fetchurl { url = "https://lv2plug.in/spec/${pname}-${version}.tar.bz2"; - sha256 = "0gs7401xz23q9vajqr31aa2db8dvssgyh5zrvr4ipa6wig7yb8wh"; + sha256 = "sha256-TokfvHRMBYVb6136gugisUkX3Wbpj4K4Iw29HHqy4F4="; }; nativeBuildInputs = [ pkg-config wafHook ]; diff --git a/pkgs/development/libraries/glibc/2.32-35.patch.gz b/pkgs/development/libraries/glibc/2.32-master.patch.gz index f77e490ebf5..36aaf51cce9 100644 --- a/pkgs/development/libraries/glibc/2.32-35.patch.gz +++ b/pkgs/development/libraries/glibc/2.32-master.patch.gz Binary files differdiff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 54882ba6718..8bf78300739 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -42,7 +42,7 @@ let version = "2.32"; - patchSuffix = "-35"; + patchSuffix = "-37"; sha256 = "0di848ibffrnwq7g2dvgqrnn4xqhj3h96csn69q4da51ymafl9qn"; in @@ -63,10 +63,10 @@ stdenv.mkDerivation ({ and using git or something would complicate bootstrapping. Fortunately it's not too big. $ git checkout origin/release/2.32/master; git describe - glibc-2.32-35-g082798622d - $ git show --reverse glibc-2.32.. | gzip -n -9 --rsyncable - > 2.32-35.patch.gz + glibc-2.32-37-g760e1d2878 + $ git show --reverse glibc-2.32.. | gzip -n -9 --rsyncable - > 2.32-master.patch.gz */ - ./2.32-35.patch.gz + ./2.32-master.patch.gz /* Allow NixOS and Nix to handle the locale-archive. */ ./nix-locale-archive.patch diff --git a/pkgs/development/libraries/gnu-config/default.nix b/pkgs/development/libraries/gnu-config/default.nix index 74b94e68f56..a08997ea2cd 100644 --- a/pkgs/development/libraries/gnu-config/default.nix +++ b/pkgs/development/libraries/gnu-config/default.nix @@ -1,20 +1,20 @@ { lib, stdenv, fetchurl }: let - rev = "e78c96e5288993aaea3ec44e5c6ee755c668da79"; + rev = "6faca61810d335c7837f320733fe8e15a1431fc2"; # Don't use fetchgit as this is needed during Aarch64 bootstrapping configGuess = fetchurl { url = "https://git.savannah.gnu.org/cgit/config.git/plain/config.guess?id=${rev}"; - sha256 = "sha256-TSLpYIDGSp1flqCBi2Sgg9IWDV5bcO+Hn2Menv3R6KU="; + sha256 = "06wkkhpbx9slmknr2g7mcd8x3zsdhnmmay25l31h3rkdp1wkq7kx"; }; configSub = fetchurl { url = "https://git.savannah.gnu.org/cgit/config.git/plain/config.sub?id=${rev}"; - sha256 = "sha256-DkCGDN/DE3phQ1GO/Ua5ZPPtp0Ya93PnW3yfSK8EV9s="; + sha256 = "1qkph8cqanmgy3s4a18bm1a4vk62i8pf8cy5pc1hkpqwn4g6l0di"; }; in stdenv.mkDerivation { pname = "gnu-config"; - version = "2020-05-04"; + version = "2021-01-25"; buildCommand = '' mkdir -p $out diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index b3615893b53..3f31a3f6db3 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -11,7 +11,7 @@ }: let - version = "2.7.2"; + version = "2.7.4"; inherit (lib) optional optionals optionalString; mesonFeatureFlag = opt: b: "-D${opt}=${if b then "enabled" else "disabled"}"; @@ -24,7 +24,7 @@ stdenv.mkDerivation { owner = "harfbuzz"; repo = "harfbuzz"; rev = version; - sha256 = "0vfyxr3lvzp80j1347nrwpr1ndv265p15rj2q8rj31lb26nyz4dm"; + sha256 = "sha256-uMkniDNBQ2mxDmeM7K/YQtZ3Avh9RVXYe7XsUErGas8="; }; postPatch = '' diff --git a/pkgs/development/libraries/icu/68.nix b/pkgs/development/libraries/icu/68.nix new file mode 100644 index 00000000000..5aeba0f2628 --- /dev/null +++ b/pkgs/development/libraries/icu/68.nix @@ -0,0 +1,4 @@ +import ./base.nix { + version = "68.2"; + sha256 = "09fng7a80xj8d5r1cgbgq8r47dsw5jsr6si9p2cj2ylhwgg974f7"; +} diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix index a820d947b7f..ed086dac90f 100644 --- a/pkgs/development/libraries/json-glib/default.nix +++ b/pkgs/development/libraries/json-glib/default.nix @@ -1,23 +1,47 @@ -{ lib, stdenv, fetchurl, glib, meson, ninja, pkg-config, gettext -, gobject-introspection, fixDarwinDylibNames, gnome3 +{ lib +, stdenv +, fetchurl +, glib +, meson +, ninja +, pkg-config +, gettext +, gobject-introspection +, fixDarwinDylibNames +, gtk-doc +, docbook-xsl-nons +, docbook_xml_dtd_43 +, gnome3 }: -let +stdenv.mkDerivation rec { pname = "json-glib"; - version = "1.4.4"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; + version = "1.6.2"; + + outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"; + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "092g2dyy1hhl0ix9kp33wcab0pg1qicnsv0cj5ms9g9qs336cgd3"; }; - propagatedBuildInputs = [ glib ]; - nativeBuildInputs = [ meson ninja pkg-config gettext gobject-introspection glib ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + gobject-introspection + glib + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_43 + ] ++ lib.optional stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; - outputs = [ "out" "dev" ]; + propagatedBuildInputs = [ + glib + ]; doCheck = true; @@ -30,8 +54,8 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "A library providing (de)serialization support for the JavaScript Object Notation (JSON) format"; homepage = "https://wiki.gnome.org/Projects/JsonGlib"; - license = licenses.lgpl2; - maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl21Plus; + maintainers = teams.gnome.members; platforms = with platforms; unix; }; } diff --git a/pkgs/development/libraries/lcms2/default.nix b/pkgs/development/libraries/lcms2/default.nix index 129b5785198..66bdcc03b96 100644 --- a/pkgs/development/libraries/lcms2/default.nix +++ b/pkgs/development/libraries/lcms2/default.nix @@ -1,11 +1,11 @@ { lib, stdenv, fetchurl, libtiff, libjpeg, zlib }: stdenv.mkDerivation rec { - name = "lcms2-2.11"; + name = "lcms2-2.12"; src = fetchurl { url = "mirror://sourceforge/lcms/${name}.tar.gz"; - sha256 = "0bkpf315925lhmd9i4mzjnkq5dh255r1lms0c0vzzkfpwk4bjjfw"; + sha256 = "sha256-GGY5hehkEARVrD5QdiXEOMNxA1TYXly7fNQEPhH+EPU="; }; outputs = [ "bin" "dev" "out" ]; diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix index edbc61957c0..5483909689d 100644 --- a/pkgs/development/libraries/libaom/default.nix +++ b/pkgs/development/libraries/libaom/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "libaom"; - version = "2.0.1"; + version = "2.0.2"; src = fetchgit { url = "https://aomedia.googlesource.com/aom"; rev = "v${version}"; - sha256 = "1vakwmcwvmmrdw7460m8hzq96y71lxqix8b2g07c6s12br0rrdhl"; + sha256 = "0f3i983s9yvh9zc6mpy1ck5sjcg9l09lpw9v4md3mv8gbih9f0z0"; }; patches = [ ./outputs.patch ]; diff --git a/pkgs/development/libraries/libblockdev/default.nix b/pkgs/development/libraries/libblockdev/default.nix index 11a65006422..584ea93293e 100644 --- a/pkgs/development/libraries/libblockdev/default.nix +++ b/pkgs/development/libraries/libblockdev/default.nix @@ -6,13 +6,13 @@ }: stdenv.mkDerivation rec { pname = "libblockdev"; - version = "2.24"; + version = "2.25"; src = fetchFromGitHub { owner = "storaged-project"; repo = "libblockdev"; rev = "${version}-1"; - sha256 = "1gzwlwdv0jyb3lh2n016limy2ngfdsa05x7jvg9llf2ls672nq89"; + sha256 = "sha256-eHUHTogKoNrnwwSo6JaI7NMxVt9JeMqfWyhR62bDMuQ="; }; outputs = [ "out" "dev" "devdoc" ]; diff --git a/pkgs/development/libraries/libbytesize/default.nix b/pkgs/development/libraries/libbytesize/default.nix index a84f010b9e6..7ce8d6e7f83 100644 --- a/pkgs/development/libraries/libbytesize/default.nix +++ b/pkgs/development/libraries/libbytesize/default.nix @@ -4,7 +4,7 @@ }: let - version = "2.4"; + version = "2.5"; in stdenv.mkDerivation rec { pname = "libbytesize"; inherit version; @@ -13,7 +13,7 @@ in stdenv.mkDerivation rec { owner = "storaged-project"; repo = "libbytesize"; rev = version; - sha256 = "1kq0hnw2yxjdmcrwvgp0x4j1arkka23k8vp2l6nqcw9lc15x18fp"; + sha256 = "sha256-F8Ur8gtNYp4PYfBQ9sDJGBgW7KohJYNEU9SI2SbNuvM="; }; outputs = [ "out" "dev" "devdoc" ]; diff --git a/pkgs/development/libraries/libdatrie/default.nix b/pkgs/development/libraries/libdatrie/default.nix index f4e2df36d91..257673b1a96 100644 --- a/pkgs/development/libraries/libdatrie/default.nix +++ b/pkgs/development/libraries/libdatrie/default.nix @@ -7,6 +7,8 @@ stdenv.mkDerivation rec { pname = "libdatrie"; version = "2019-12-20"; + outputs = [ "bin" "out" "lib" "dev" ]; + src = fetchFromGitHub { owner = "tlwg"; repo = "libdatrie"; diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix index daae6984ab2..33b3f0b32e1 100644 --- a/pkgs/development/libraries/libevdev/default.nix +++ b/pkgs/development/libraries/libevdev/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libevdev"; - version = "1.10.0"; + version = "1.11.0"; src = fetchurl { url = "https://www.freedesktop.org/software/${pname}/${pname}-${version}.tar.xz"; - sha256 = "0jidjv78lay8kl3yigwhx9fii908sk7gn9nfd2ny12ql5ipc48im"; + sha256 = "sha256-Y/TqFImFihCQgOC0C9Q+TgkDoeEuqIjVgduMSVdHwtA="; }; nativeBuildInputs = [ python3 ]; diff --git a/pkgs/development/libraries/libexecinfo/30-linux-makefile.patch b/pkgs/development/libraries/libexecinfo/30-linux-makefile.patch new file mode 100644 index 00000000000..134c64441d3 --- /dev/null +++ b/pkgs/development/libraries/libexecinfo/30-linux-makefile.patch @@ -0,0 +1,44 @@ +--- Makefile.orig ++++ Makefile +@@ -23,24 +23,25 @@ + # SUCH DAMAGE. + # + # $Id: Makefile,v 1.3 2004/07/19 05:19:55 sobomax Exp $ ++# ++# Linux Makefile by Matt Smith <mcs@darkregion.net>, 2011/01/04 + +-LIB= execinfo ++CC=cc ++AR=ar ++EXECINFO_CFLAGS=$(CFLAGS) -O2 -pipe -fno-strict-aliasing -std=gnu99 -c ++EXECINFO_LDFLAGS=$(LDFLAGS) + +-SRCS= stacktraverse.c stacktraverse.h execinfo.c execinfo.h ++all: static dynamic + +-INCS= execinfo.h ++static: ++ $(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c ++ $(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c ++ $(AR) rcs libexecinfo.a stacktraverse.o execinfo.o + +-SHLIB_MAJOR= 1 +-SHLIB_MINOR= 0 ++dynamic: ++ $(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c -o stacktraverse.So ++ $(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c -o execinfo.So ++ $(CC) -shared -Wl,-soname,libexecinfo.so.1 -o libexecinfo.so.1 stacktraverse.So execinfo.So + +-NOPROFILE= yes +- +-DPADD= ${LIBM} +-LDADD= -lm +- +-#WARNS?= 4 +- +-#stacktraverse.c: gen.py +-# ./gen.py > stacktraverse.c +- +-.include <bsd.lib.mk> ++clean: ++ rm -rf *.o *.So *.a *.so diff --git a/pkgs/development/libraries/libexecinfo/default.nix b/pkgs/development/libraries/libexecinfo/default.nix index f3f89209707..36f956e7772 100644 --- a/pkgs/development/libraries/libexecinfo/default.nix +++ b/pkgs/development/libraries/libexecinfo/default.nix @@ -23,14 +23,11 @@ stdenv.mkDerivation rec { url = "https://git.alpinelinux.org/aports/plain/main/libexecinfo/20-define-gnu-source.patch?id=730cdcef6901750f4029d4c3b8639ce02ee3ead1"; sha256 = "1mp8mc639b0h2s69m5z6s2h3q3n1zl298j9j0plzj7f979j76302"; }) - (fetchpatch { - name = "30-linux-makefile.patch"; - url = "https://git.alpinelinux.org/aports/plain/main/libexecinfo/30-linux-makefile.patch?id=730cdcef6901750f4029d4c3b8639ce02ee3ead1"; - sha256 = "1jwjz22z5cjy5h2bfghn62yl9ar8jiqhdvbwrcfavv17ihbhwcaf"; - }) + ./30-linux-makefile.patch ]; makeFlags = [ "CC:=$(CC)" "AR:=$(AR)" ]; + hardeningEnable = [ "stackprotector" ]; buildFlags = lib.optional enableStatic "static" diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index 081b67b1663..f3db8d8c03b 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, gettext, libgpgerror, enableCapabilities ? false, libcap -, buildPackages +, buildPackages, fetchpatch }: assert enableCapabilities -> stdenv.isLinux; @@ -13,6 +13,15 @@ stdenv.mkDerivation rec { sha256 = "1nb50bgzp83q6r5cz4v40y1mcbhpqwqyxlay87xp1lrbkf5pm9n5"; }; + patches = [ + # fix build on 32bit musl + (fetchpatch { + name = "fix_building_with_disable-asm_on_x86.patch"; + url = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff_plain;h=af23ab5c5482d625ff52e60606cf044e2b0106c8"; + sha256 = "1m8apm8wra6fk89ggha4d0bba5absihm38zvb2khklqh9q5hj9jw"; + }) + ]; + outputs = [ "out" "dev" "info" ]; outputBin = "dev"; @@ -27,6 +36,8 @@ stdenv.mkDerivation rec { ++ lib.optional stdenv.isDarwin gettext ++ lib.optional enableCapabilities libcap; + strictDeps = true; + configureFlags = [ "--with-libgpg-error-prefix=${libgpgerror.dev}" ] ++ lib.optional stdenv.hostPlatform.isMusl "--disable-asm"; diff --git a/pkgs/development/libraries/libheif/default.nix b/pkgs/development/libraries/libheif/default.nix index b0872b9da1e..71dfca5e643 100644 --- a/pkgs/development/libraries/libheif/default.nix +++ b/pkgs/development/libraries/libheif/default.nix @@ -1,9 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libde265, x265, libpng, +{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, dav1d, rav1e, libde265, x265, libpng, libjpeg, libaom }: stdenv.mkDerivation rec { pname = "libheif"; - version = "1.9.1"; + version = "1.11.0"; outputs = [ "bin" "out" "dev" "man" ]; @@ -11,21 +11,19 @@ stdenv.mkDerivation rec { owner = "strukturag"; repo = "libheif"; rev = "v${version}"; - sha256 = "0hjs1i076jmy4ryj8y2zs293wx53kzg38y8i42cbcsqydvsdp6hz"; + sha256 = "sha256-xT0sfYPp5atYXnVpP8TYu2TC9/Z/ClyEP1OTSfcw1gw="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libde265 x265 libpng libjpeg libaom ]; - # TODO: enable dav1d and rav1e codecs when libheif can find them via pkg-config + buildInputs = [ dav1d rav1e libde265 x265 libpng libjpeg libaom ]; enableParallelBuilding = true; meta = { homepage = "http://www.libheif.org/"; description = "ISO/IEC 23008-12:2017 HEIF image file format decoder and encoder"; - license = lib.licenses.lgpl3; + license = lib.licenses.lgpl3Plus; platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ gebner ]; }; - } diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix index 7f5e739a99c..51e2ff52ff6 100644 --- a/pkgs/development/libraries/libical/default.nix +++ b/pkgs/development/libraries/libical/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , buildPackages , cmake , glib @@ -22,7 +21,7 @@ assert introspectionSupport -> gobject-introspection != null && vala != null; stdenv.mkDerivation rec { pname = "libical"; - version = "3.0.8"; + version = "3.0.9"; outputs = [ "out" "dev" ]; # "devdoc" ]; @@ -30,7 +29,7 @@ stdenv.mkDerivation rec { owner = "libical"; repo = "libical"; rev = "v${version}"; - sha256 = "0pkh74bfrgp1slv8wsv7lbmal2m7qkixwm5llpmfwaiv14njlp68"; + sha256 = "sha256-efdiGktLGITaQ6VinnfYG52fMhO0Av+JKROt2kTvS1U="; }; nativeBuildInputs = [ @@ -75,12 +74,6 @@ stdenv.mkDerivation rec { # Will appear in 3.1.0 # https://github.com/libical/libical/issues/350 ./respect-env-tzdir.patch - # Export src-generator binary for use while cross-compiling - # https://github.com/libical/libical/pull/439 - (fetchpatch { - url = "https://github.com/libical/libical/commit/1197d84b63dce179b55a6293cfd6d0523607baf1.patch"; - sha256 = "18i1khnwmw488s7g5a1kf05sladf8dbyhfc69mbcf6dkc4nnc3dg"; - }) ]; # Using install check so we do not have to manually set diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix index 850c7aa1df0..9695b221cb9 100644 --- a/pkgs/development/libraries/libmbim/default.nix +++ b/pkgs/development/libraries/libmbim/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "libmbim"; - version = "1.24.4"; + version = "1.24.6"; src = fetchurl { url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz"; - sha256 = "11djb1d8w9ms07aklfm3pskjw9rnff4p4n3snanschv22zk8wj6x"; + sha256 = "sha256-dgRlyqoczWmcFCkOl5HaRW1TAN0R6/TBSGFRAz6HXf0="; }; outputs = [ "out" "dev" "man" ]; diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix index 0b30bf6c2b0..c04d4a001a1 100644 --- a/pkgs/development/libraries/libpcap/default.nix +++ b/pkgs/development/libraries/libpcap/default.nix @@ -4,11 +4,11 @@ with lib; stdenv.mkDerivation rec { pname = "libpcap"; - version = "1.9.1"; + version = "1.10.0"; src = fetchurl { url = "https://www.tcpdump.org/release/${pname}-${version}.tar.gz"; - sha256 = "153h1378diqyc27jjgz6gg5nxmb4ddk006d9xg69nqavgiikflk3"; + sha256 = "sha256-jRK0JiPu7+6HLxI70NyF1TWwDfTULoZfmTxA97/JKx4="; }; nativeBuildInputs = [ flex bison ] @@ -21,13 +21,11 @@ stdenv.mkDerivation rec { linux = "linux"; darwin = "bpf"; }.${stdenv.hostPlatform.parsed.kernel.name}) + ] ++ optionals stdenv.isDarwin [ + "--disable-universal" ] ++ optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ "ac_cv_linux_vers=2" ]; - prePatch = optionalString stdenv.isDarwin '' - substituteInPlace configure --replace " -arch i386" "" - ''; - postInstall = '' if [ "$dontDisableStatic" -ne "1" ]; then rm -f $out/lib/libpcap.a diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix index db2cd044592..64ae1713fd4 100644 --- a/pkgs/development/libraries/libsodium/default.nix +++ b/pkgs/development/libraries/libsodium/default.nix @@ -12,6 +12,11 @@ stdenv.mkDerivation rec { separateDebugInfo = stdenv.isLinux && stdenv.hostPlatform.libc != "musl"; enableParallelBuilding = true; + hardeningDisable = lib.optional (stdenv.targetPlatform.isMusl && stdenv.targetPlatform.isx86_32) "stackprotector"; + + # FIXME: the hardeingDisable attr above does not seems effective, so + # the need to disable stackprotector via configureFlags + configureFlags = lib.optional (stdenv.targetPlatform.isMusl && stdenv.targetPlatform.isx86_32) "--disable-ssp"; doCheck = true; diff --git a/pkgs/development/libraries/libthai/default.nix b/pkgs/development/libraries/libthai/default.nix index ad00906bb8c..97745813ef2 100644 --- a/pkgs/development/libraries/libthai/default.nix +++ b/pkgs/development/libraries/libthai/default.nix @@ -4,12 +4,16 @@ stdenv.mkDerivation rec { pname = "libthai"; version = "0.1.28"; + outputs = [ "out" "dev" ]; + src = fetchurl { url = "https://github.com/tlwg/libthai/releases/download/v${version}/libthai-${version}.tar.xz"; sha256 = "04g93bgxrcnay9fglpq2lj9nr7x1xh06i60m7haip8as9dxs3q7z"; }; - nativeBuildInputs = [ installShellFiles pkg-config ]; + strictDeps = true; + + nativeBuildInputs = [ installShellFiles (lib.getBin libdatrie) pkg-config ]; buildInputs = [ libdatrie ]; diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix index d69c8d670c4..69410cf2b98 100644 --- a/pkgs/development/libraries/libusb1/default.nix +++ b/pkgs/development/libraries/libusb1/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , autoreconfHook , pkg-config , enableUdev ? stdenv.isLinux && !stdenv.hostPlatform.isMusl @@ -22,6 +23,13 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; + patches = [ (fetchpatch { + # https://bugs.archlinux.org/task/69121 + url = "https://github.com/libusb/libusb/commit/f6d2cb561402c3b6d3627c0eb89e009b503d9067.patch"; + sha256 = "1dbahikcbwkjhyvks7wbp7fy2bf7nca48vg5z0zqvqzjb9y595cq"; + excludes = [ "libusb/version_nano.h" ]; + }) ]; + nativeBuildInputs = [ pkg-config autoreconfHook ]; propagatedBuildInputs = lib.optional enableUdev udev ++ diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index a4447ed3378..6b1a0120e49 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -1,19 +1,20 @@ { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkg-config, ApplicationServices, CoreServices }: stdenv.mkDerivation rec { - version = "1.40.0"; + version = "1.41.0"; pname = "libuv"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "1hd0x6i80ca3j0c3a7laygzab5qkgxjkz692jwzrsinsfhvbq0pg"; + sha256 = "sha256-i6AYD1Ony0L2+3yWK6bxOfwoZEvd9qCg33QSqA7bRXI="; }; postPatch = let toDisable = [ "getnameinfo_basic" "udp_send_hang_loop" # probably network-dependent + "tcp_connect_timeout" # tries to reach out to 8.8.8.8 "spawn_setuid_fails" "spawn_setgid_fails" "fs_chown" # user namespaces "getaddrinfo_fail" "getaddrinfo_fail_sync" "threadpool_multiple_event_loops" # times out on slow machines diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix index a71b2a61910..44a0e017a2a 100644 --- a/pkgs/development/libraries/openldap/default.nix +++ b/pkgs/development/libraries/openldap/default.nix @@ -1,4 +1,7 @@ -{ lib, stdenv, fetchurl, openssl, cyrus_sasl, db, groff, libtool }: +{ lib, stdenv, fetchurl, openssl, db, groff, libtool +, withCyrusSasl ? true +, cyrus_sasl +}: stdenv.mkDerivation rec { pname = "openldap"; @@ -37,8 +40,7 @@ stdenv.mkDerivation rec { ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--with-yielding_select=yes" "ac_cv_func_memcmp_working=yes" - ] ++ lib.optional (openssl == null) "--without-tls" - ++ lib.optional (cyrus_sasl == null) "--without-cyrus-sasl" + ] ++ lib.optional (!withCyrusSasl) "--without-cyrus-sasl" ++ lib.optional stdenv.isFreeBSD "--with-pic"; postBuild = '' @@ -54,19 +56,21 @@ stdenv.mkDerivation rec { "moduledir=$(out)/lib/modules" ]; - # 1. Fixup broken libtool - # 2. Libraries left in the build location confuse `patchelf --shrink-rpath` + # 1. Libraries left in the build location confuse `patchelf --shrink-rpath` # Delete these to let patchelf discover the right path instead. # FIXME: that one can be removed when https://github.com/NixOS/patchelf/pull/98 # is in Nixpkgs patchelf. + # 2. Fixup broken libtool for openssl and cyrus_sasl (if it is not disabled) preFixup = '' - sed -e 's,-lsasl2,-L${cyrus_sasl.out}/lib -lsasl2,' \ - -e 's,-lssl,-L${openssl.out}/lib -lssl,' \ - -i $out/lib/libldap.la -i $out/lib/libldap_r.la - - rm -rf $out/var + rm -r $out/var rm -r libraries/*/.libs rm -r contrib/slapd-modules/passwd/*/.libs + for f in $out/lib/libldap.la $out/lib/libldap_r.la; do + substituteInPlace "$f" --replace '-lssl' '-L${openssl.out}/lib -lssl' + '' + lib.optionalString withCyrusSasl '' + substituteInPlace "$f" --replace '-lsasl2' '-L${cyrus_sasl.out}/lib -lsasl2' + '' + '' + done ''; postInstall = '' diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index ce4374be331..2edf02e738f 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -160,8 +160,8 @@ in { }; openssl_1_1 = common { - version = "1.1.1i"; - sha256 = "0hjj1phcwkz69lx1lrvr9grhpl4y529mwqycqc1hdla1zqsnmgp8"; + version = "1.1.1j"; + sha256 = "1gw17520vh13izy1xf5q0a2fqgcayymjjj5bk0dlkxndfnszrwma"; patches = [ ./1.1/nix-ssl-cert-file.patch diff --git a/pkgs/development/libraries/rinutils/default.nix b/pkgs/development/libraries/rinutils/default.nix new file mode 100644 index 00000000000..35e48140fdd --- /dev/null +++ b/pkgs/development/libraries/rinutils/default.nix @@ -0,0 +1,21 @@ +{ + stdenv, lib, fetchurl, + cmake, perl, +}: + +stdenv.mkDerivation rec { + pname = "rinutils"; + version = "0.8.0"; + + meta = with lib; { + homepage = "https://github.com/shlomif/rinutils"; + license = licenses.mit; + }; + + src = fetchurl { + url = "https://github.com/shlomif/${pname}/releases/download/${version}/${pname}-${version}.tar.xz"; + sha256 = "1q09aihm5m42xiq2prpa9mf0srwiirzgzblkp5nl74i7zg6pg5hx"; + }; + + nativeBuildInputs = [ cmake perl ]; +} diff --git a/pkgs/development/python-modules/adblock/default.nix b/pkgs/development/python-modules/adblock/default.nix index de6d72a61ec..c608f48fdf9 100644 --- a/pkgs/development/python-modules/adblock/default.nix +++ b/pkgs/development/python-modules/adblock/default.nix @@ -1,10 +1,9 @@ { stdenv , lib -, rustPlatform , fetchFromGitHub -, pipInstallHook +, buildPythonPackage +, rustPlatform , pythonImportsCheckHook -, maturin , pkg-config , openssl , publicsuffix-list @@ -13,7 +12,7 @@ , Security }: -rustPlatform.buildRustPackage rec { +buildPythonPackage rec { pname = "adblock"; version = "0.4.0"; disabled = isPy27; @@ -25,33 +24,27 @@ rustPlatform.buildRustPackage rec { rev = version; sha256 = "10d6ks2fyzbizq3kb69q478idj0h86k6ygjb6wl3zq3mf65ma4zg"; }; - format = "pyproject"; - cargoSha256 = "0di05j942rrm2crpdpp9czhh65fmidyrvdp2n3pipgnagy7nchc0"; + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-gEFmj3/KvhvvsOK2nX2L1RUD4Wfp3nYzEzVnQZIsIDY="; + }; - nativeBuildInputs = [ pipInstallHook maturin pkg-config pythonImportsCheckHook ]; + format = "pyproject"; + + nativeBuildInputs = [ pkg-config pythonImportsCheckHook ] + ++ (with rustPlatform; [ cargoSetupHook maturinBuildHook ]); buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ CoreFoundation Security ]; PSL_PATH = "${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"; - buildPhase = '' - runHook preBuild - maturin build --release --manylinux off --strip - runHook postBuild - ''; - # There are no rust tests doCheck = false; - pythonImportsCheck = [ "adblock" ]; - installPhase = '' - runHook preInstall - install -Dm644 -t dist target/wheels/*.whl - pipInstallPhase - runHook postInstall - ''; + pythonImportsCheck = [ "adblock" ]; passthru.meta = with lib; { description = "Python wrapper for Brave's adblocking library, which is written in Rust"; diff --git a/pkgs/development/python-modules/cheroot/default.nix b/pkgs/development/python-modules/cheroot/default.nix index e5c7c23e2e4..4d6c71a7e2a 100644 --- a/pkgs/development/python-modules/cheroot/default.nix +++ b/pkgs/development/python-modules/cheroot/default.nix @@ -73,7 +73,7 @@ buildPythonPackage rec { "bind_addr_unix" ]; - disabledTestFiles = [ + disabledTestPaths = [ # avoid attempting to use 3 packages not available on nixpkgs # (jaraco.apt, jaraco.context, yg.lockfile) "cheroot/test/test_wsgi.py" diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix index eb4eba0f587..1038431d31c 100644 --- a/pkgs/development/python-modules/cryptography/default.nix +++ b/pkgs/development/python-modules/cryptography/default.nix @@ -2,8 +2,8 @@ , buildPythonPackage , fetchPypi , fetchpatch -, isPy27 -, ipaddress +, rustPlatform +, setuptools-rust , openssl , cryptography_vectors , darwin @@ -13,27 +13,38 @@ , isPyPy , cffi , pytest +, pytest-subtests , pretend , iso8601 , pytz , hypothesis -, enum34 }: buildPythonPackage rec { pname = "cryptography"; - version = "3.3.2"; # Also update the hash in vectors.nix + version = "3.4.6"; # Also update the hash in vectors.nix src = fetchPypi { inherit pname version; - sha256 = "1vcvw4lkw1spiq322pm1256kail8nck6bbgpdxx3pqa905wd6q2s"; + sha256 = "11wgsihfq72fav67c3igi0xbhbd6c5dj869byd1jkq0fbcz24cid"; }; + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + sourceRoot = "${pname}-${version}/${cargoRoot}"; + name = "${pname}-${version}"; + sha256 = "1i0sd2y4a5g1yqwcpw2ycp6p4p8sk5v7clblq756i5864j52v6w1"; + }; + + cargoRoot = "src/rust"; + outputs = [ "out" "dev" ]; nativeBuildInputs = lib.optionals (!isPyPy) [ cffi - ]; + rustPlatform.cargoSetupHook + setuptools-rust + ] ++ (with rustPlatform; [ rust.cargo rust.rustc ]); buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security; @@ -42,8 +53,6 @@ buildPythonPackage rec { six ] ++ lib.optionals (!isPyPy) [ cffi - ] ++ lib.optionals isPy27 [ - ipaddress enum34 ]; checkInputs = [ @@ -52,6 +61,7 @@ buildPythonPackage rec { iso8601 pretend pytest + pytest-subtests pytz ]; diff --git a/pkgs/development/python-modules/cryptography/vectors.nix b/pkgs/development/python-modules/cryptography/vectors.nix index f9b7c525237..a807be9c3bb 100644 --- a/pkgs/development/python-modules/cryptography/vectors.nix +++ b/pkgs/development/python-modules/cryptography/vectors.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "1yhaps0f3h2yjb6lmz953z1l1d84y9swk4k3gj9nqyk4vbx5m7cc"; + sha256 = "1a1d5ix5b3ajhrqaf8rm6qmd6gkaidij0jgd1vrb8q1xn1gqmy75"; }; # No tests included diff --git a/pkgs/development/python-modules/johnnycanencrypt/default.nix b/pkgs/development/python-modules/johnnycanencrypt/default.nix index 77789fa44db..a0c82902d3e 100644 --- a/pkgs/development/python-modules/johnnycanencrypt/default.nix +++ b/pkgs/development/python-modules/johnnycanencrypt/default.nix @@ -1,14 +1,13 @@ { lib , stdenv -, rustPlatform , fetchFromGitHub -, pipInstallHook +, buildPythonPackage +, rustPlatform , llvmPackages , pkg-config , maturin , pcsclite , nettle -, python , requests , vcrpy , numpy @@ -17,7 +16,7 @@ , PCSC }: -rustPlatform.buildRustPackage rec { +buildPythonPackage rec { pname = "johnnycanencrypt"; version = "0.5.0"; disabled = pythonOlder "3.7"; @@ -28,7 +27,16 @@ rustPlatform.buildRustPackage rec { rev = "v${version}"; sha256 = "192wfrlyylrpzq70yki421mi1smk8q2cyki2a1d03q7h6apib3j4"; }; - cargoPatches = [ ./Cargo.lock.patch ]; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit patches src; + name = "${pname}-${version}"; + hash = "sha256-2XhXCKyXVlFgbcOoMy/A5ajiIVxBii56YeI29mO720U="; + }; + + format = "pyproject"; + + patches = [ ./Cargo.lock.patch ]; cargoSha256 = "0ifvpdizcdp2c5x2x2j1bhhy5a75q0pk7a63dmh52mlpmh45fy6r"; @@ -42,10 +50,10 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ llvmPackages.clang pkg-config - python - maturin - pipInstallHook - ]; + ] ++ (with rustPlatform; [ + cargoSetupHook + maturinBuildHook + ]); buildInputs = [ pcsclite @@ -67,17 +75,6 @@ rustPlatform.buildRustPackage rec { sed '/project-url = /d' -i Cargo.toml ''; - buildPhase = '' - runHook preBuild - maturin build --release --manylinux off --strip --cargo-extra-args="-j $NIX_BUILD_CORES --frozen" - runHook postBuild - ''; - - installPhase = '' - install -Dm644 -t dist target/wheels/*.whl - pipInstallPhase - ''; - preCheck = '' export TESTDIR=$(mktemp -d) cp -r tests/ $TESTDIR diff --git a/pkgs/development/python-modules/lxml/default.nix b/pkgs/development/python-modules/lxml/default.nix index aa009e0a3e7..b5837603103 100644 --- a/pkgs/development/python-modules/lxml/default.nix +++ b/pkgs/development/python-modules/lxml/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "lxml"; - version = "4.5.2"; + version = "4.6.2"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "${pname}-${version}"; - sha256 = "1d0cpwdjxfzwjzmnz066ibzicyj2vhx15qxmm775l8hxqi65xps4"; + sha256 = "1zidx62sxh2r4fmjfjzd4f6i4yxgzkpd20nafbyr0i0wnw9da3fd"; }; # setuptoolsBuildPhase needs dependencies to be passed through nativeBuildInputs diff --git a/pkgs/development/python-modules/requests/default.nix b/pkgs/development/python-modules/requests/default.nix index e0dfb9a24a6..169583586a1 100644 --- a/pkgs/development/python-modules/requests/default.nix +++ b/pkgs/development/python-modules/requests/default.nix @@ -1,24 +1,59 @@ -{ lib, fetchPypi, buildPythonPackage -, urllib3, idna, chardet, certifi -, pytest }: +{ lib +, buildPythonPackage +, certifi +, chardet +, fetchPypi +, idna +, pytest-mock +, pytest-xdist +, pytestCheckHook +, urllib3 +}: buildPythonPackage rec { pname = "requests"; - version = "2.25.0"; + version = "2.25.1"; src = fetchPypi { inherit pname version; - sha256 = "1y6mb8c0ipd64d5axq2p368yxndp3f966hmabjka2q2a5y9hn6kz"; + sha256 = "sha256-J5c91KkEpPE7JjoZyGbBO5KjntHJZGVfAl8/jT11uAQ="; }; - nativeBuildInputs = [ pytest ]; - propagatedBuildInputs = [ urllib3 idna chardet certifi ]; - # sadly, tests require networking - doCheck = false; + propagatedBuildInputs = [ + certifi + chardet + idna + urllib3 + ]; + + checkInputs = [ + pytest-mock + pytest-xdist + pytestCheckHook + ]; + + disabledTests = [ + # Disable tests that require network access and use httpbin + "requests.api.request" + "requests.models.PreparedRequest" + "requests.sessions.Session" + "requests" + "test_redirecting_to_bad_url" + "test_requests_are_updated_each_time" + "test_should_bypass_proxies_pass_only_hostname" + "test_urllib3_pool_connection_closed" + "test_urllib3_retries" + "test_use_proxy_from_environment" + "TestRequests" + "TestTimeout" + ]; + + pythonImportsCheck = [ "requests" ]; meta = with lib; { - description = "An Apache2 licensed HTTP library, written in Python, for human beings"; + description = "Simple HTTP library for Python"; homepage = "http://docs.python-requests.org/en/latest/"; license = licenses.asl20; + maintainers = with maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/retworkx/default.nix b/pkgs/development/python-modules/retworkx/default.nix index 02a3ef64c57..8cce139facb 100644 --- a/pkgs/development/python-modules/retworkx/default.nix +++ b/pkgs/development/python-modules/retworkx/default.nix @@ -1,16 +1,14 @@ { lib +, buildPythonPackage , rustPlatform -, python , fetchFromGitHub -, pipInstallHook -, maturin -, pip + # Check inputs , pytestCheckHook , numpy }: -rustPlatform.buildRustPackage rec { +buildPythonPackage rec { pname = "retworkx"; version = "0.6.0"; @@ -21,11 +19,15 @@ rustPlatform.buildRustPackage rec { sha256 = "11n30ldg3y3y6qxg3hbj837pnbwjkqw3nxq6frds647mmmprrd20"; }; - cargoSha256 = "1vg4yf0k6yypqf9z46zz818mz7fdrgxj7zl6zjf7pnm2r8mq3qw5"; + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-heOBK8qi2nuc/Ib+I/vLzZ1fUUD/G/KTw9d7M4Hz5O0="; + }; - propagatedBuildInputs = [ python ]; + format = "pyproject"; - nativeBuildInputs = [ pipInstallHook maturin pip ]; + nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ]; # Needed b/c need to check AFTER python wheel is installed (using Rust Build, not buildPythonPackage) doCheck = false; @@ -33,17 +35,6 @@ rustPlatform.buildRustPackage rec { installCheckInputs = [ pytestCheckHook numpy ]; - buildPhase = '' - runHook preBuild - maturin build --release --manylinux off --strip - runHook postBuild - ''; - - installPhase = '' - install -Dm644 -t dist target/wheels/*.whl - pipInstallPhase - ''; - preCheck = '' export TESTDIR=$(mktemp -d) cp -r tests/ $TESTDIR diff --git a/pkgs/development/python-modules/shapely/default.nix b/pkgs/development/python-modules/shapely/default.nix index b5dd0be5445..519d9bd3415 100644 --- a/pkgs/development/python-modules/shapely/default.nix +++ b/pkgs/development/python-modules/shapely/default.nix @@ -1,17 +1,25 @@ -{ lib, stdenv, buildPythonPackage, fetchPypi, substituteAll, pythonOlder -, geos, pytest, cython +{ lib +, stdenv +, buildPythonPackage +, fetchPypi +, substituteAll +, pythonOlder +, geos +, pytest +, cython , numpy +, fetchpatch }: buildPythonPackage rec { pname = "Shapely"; version = "1.7.1"; + disabled = pythonOlder "3.5"; src = fetchPypi { inherit pname version; sha256 = "0adiz4jwmwxk7k1awqifb1a9bj5x4nx4gglb5dz9liam21674h8n"; }; - disabled = pythonOlder "3.5"; nativeBuildInputs = [ geos # for geos-config @@ -26,6 +34,18 @@ buildPythonPackage rec { GEOS_LIBRARY_PATH = "${geos}/lib/libgeos_c${stdenv.hostPlatform.extensions.sharedLibrary}"; patches = [ + # Fix with geos 3.9. This patch will be part of the next release after 1.7.1 + (fetchpatch { + url = "https://github.com/Toblerity/Shapely/commit/77879a954d24d1596f986d16ba3eff5e13861164.patch"; + sha256 = "1w7ngjqbpf9vnvrfg4nyv34kckim9a60gvx20h6skc79xwihd4m5"; + excludes = [ + "tests/test_create_inconsistent_dimensionality.py" + "appveyor.yml" + ".travis.yml" + ]; + }) + + # Patch to search form GOES .so/.dylib files in a Nix-aware way (substituteAll { src = ./library-paths.patch; libgeos_c = GEOS_LIBRARY_PATH; diff --git a/pkgs/development/python-modules/slixmpp/default.nix b/pkgs/development/python-modules/slixmpp/default.nix index 341f53cfe0b..f648905251e 100644 --- a/pkgs/development/python-modules/slixmpp/default.nix +++ b/pkgs/development/python-modules/slixmpp/default.nix @@ -39,7 +39,7 @@ buildPythonPackage rec { checkInputs = [ pytestCheckHook ]; # Exclude live tests - disabledTestFiles = [ "tests/live_test.py" ]; + disabledTestPaths = [ "tests/live_test.py" ]; pythonImportsCheck = [ "slixmpp" ]; diff --git a/pkgs/development/python-modules/starlette/default.nix b/pkgs/development/python-modules/starlette/default.nix index 94513e5d620..071bbcd3061 100644 --- a/pkgs/development/python-modules/starlette/default.nix +++ b/pkgs/development/python-modules/starlette/default.nix @@ -50,7 +50,7 @@ buildPythonPackage rec { typing-extensions ]; - disabledTestFiles = [ "tests/test_graphql.py" ]; + disabledTestPaths = [ "tests/test_graphql.py" ]; # https://github.com/encode/starlette/issues/1131 disabledTests = [ "test_debug_html" ]; pythonImportsCheck = [ "starlette" ]; diff --git a/pkgs/development/python-modules/tokenizers/default.nix b/pkgs/development/python-modules/tokenizers/default.nix index cf122613f63..ef265b87c05 100644 --- a/pkgs/development/python-modules/tokenizers/default.nix +++ b/pkgs/development/python-modules/tokenizers/default.nix @@ -1,12 +1,10 @@ { lib -, rustPlatform , fetchFromGitHub , fetchurl -, pipInstallHook +, buildPythonPackage +, rustPlatform , setuptools-rust -, wheel , numpy -, python , datasets , pytestCheckHook , requests @@ -49,7 +47,7 @@ let url = "https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-merges.txt"; sha256 = "09a754pm4djjglv3x5pkgwd6f79i2rq8ydg0f7c3q1wmwqdbba8f"; }; -in rustPlatform.buildRustPackage rec { +in buildPythonPackage rec { pname = "tokenizers"; version = "0.10.0"; @@ -60,19 +58,22 @@ in rustPlatform.buildRustPackage rec { hash = "sha256-rQ2hRV52naEf6PvRsWVCTN7B1oXAQGmnpJw4iIdhamw="; }; - cargoSha256 = "sha256-BoHIN/519Top1NUBjpB/oEMqi86Omt3zTQcXFWqrek0="; + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src sourceRoot; + name = "${pname}-${version}"; + hash = "sha256-BoHIN/519Top1NUBjpB/oEMqi86Omt3zTQcXFWqrek0="; + }; sourceRoot = "source/bindings/python"; - nativeBuildInputs = [ - pipInstallHook - setuptools-rust - wheel - ]; + nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [ + cargoSetupHook + rust.cargo + rust.rustc + ]); propagatedBuildInputs = [ numpy - python ]; installCheckInputs = [ @@ -99,14 +100,6 @@ in rustPlatform.buildRustPackage rec { ln -s ${openaiMerges} openai-gpt-merges.txt ) ''; - buildPhase = '' - ${python.interpreter} setup.py bdist_wheel - ''; - - installPhase = '' - pipInstallPhase - ''; - preCheck = '' HOME=$TMPDIR ''; diff --git a/pkgs/development/python-modules/typesystem/default.nix b/pkgs/development/python-modules/typesystem/default.nix index e93fd83656f..c278680404b 100644 --- a/pkgs/development/python-modules/typesystem/default.nix +++ b/pkgs/development/python-modules/typesystem/default.nix @@ -35,7 +35,7 @@ buildPythonPackage rec { # the default string formatting of regular expression flags which breaks test assertion "test_to_json_schema_complex_regular_expression" ]; - disabledTestFiles = [ + disabledTestPaths = [ # for some reason jinja2 not picking up forms directory (1% of tests) "tests/test_forms.py" ]; diff --git a/pkgs/development/python-modules/virtualenv/default.nix b/pkgs/development/python-modules/virtualenv/default.nix index 8b64bddc5a4..6d2c19d3675 100644 --- a/pkgs/development/python-modules/virtualenv/default.nix +++ b/pkgs/development/python-modules/virtualenv/default.nix @@ -69,7 +69,7 @@ buildPythonPackage rec { ''; # Ignore tests which require network access - disabledTestFiles = [ + disabledTestPaths = [ "tests/unit/create/test_creator.py" "tests/unit/seed/embed/test_bootstrap_link_via_app_data.py" ]; diff --git a/pkgs/development/python-modules/wasmer/default.nix b/pkgs/development/python-modules/wasmer/default.nix index ff4fffc821f..28c9b8b5c16 100644 --- a/pkgs/development/python-modules/wasmer/default.nix +++ b/pkgs/development/python-modules/wasmer/default.nix @@ -1,62 +1,34 @@ { lib , rustPlatform , fetchFromGitHub -, maturin , buildPythonPackage -, python }: let pname = "wasmer"; version = "1.0.0"; +in buildPythonPackage rec { + inherit pname version; - wheel = rustPlatform.buildRustPackage rec { - inherit pname version; - - src = fetchFromGitHub { - owner = "wasmerio"; - repo = "wasmer-python"; - rev = version; - hash = "sha256-I1GfjLaPYMIHKh2m/5IQepUsJNiVUEJg49wyuuzUYtY="; - }; - - cargoHash = "sha256-txOOia1C4W+nsXuXp4EytEn82CFfSmiOYwRLC4WPImc="; - - nativeBuildInputs = [ maturin python ]; - - preBuild = '' - cd packages/api - ''; - - buildPhase = '' - runHook preBuild - maturin build --release --manylinux off --strip - runHook postBuild - ''; - - postBuild = '' - cd ../.. - ''; - - doCheck = false; + src = fetchFromGitHub { + owner = "wasmerio"; + repo = "wasmer-python"; + rev = version; + hash = "sha256-I1GfjLaPYMIHKh2m/5IQepUsJNiVUEJg49wyuuzUYtY="; + }; - installPhase = '' - runHook preInstall - install -Dm644 -t $out target/wheels/*.whl - runHook postInstall - ''; + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-txOOia1C4W+nsXuXp4EytEn82CFfSmiOYwRLC4WPImc="; }; -in -buildPythonPackage rec { - inherit pname version; + format = "pyproject"; + + nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ]; - format = "wheel"; - src = wheel; + buildAndTestSubdir = "packages/api"; - unpackPhase = '' - mkdir -p dist - cp $src/*.whl dist - ''; + doCheck = false; pythonImportsCheck = [ "wasmer" ]; diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 5de894bd1b4..7c2e5372e73 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -20,12 +20,12 @@ stdenv.mkDerivation (rec { + lib.optionalString useNcurses "-cursesUI" + lib.optionalString withQt5 "-qt5UI" + lib.optionalString useQt4 "-qt4UI"; - version = "3.19.3"; + version = "3.19.4"; src = fetchurl { url = "${meta.homepage}files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; # compare with https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}-SHA-256.txt - sha256 = "sha256-P6ynwTFJSh401m6fiXL/U2nkjUGeqM6qPcFbTBE2dzI="; + sha256 = "sha256-fQIyufHFfo3oHzgHHvggPmgg/n7siuRqHfEl2I28wuE="; }; patches = [ diff --git a/pkgs/development/tools/diesel-cli/default.nix b/pkgs/development/tools/diesel-cli/default.nix index bd8e71090c5..20185ff7d13 100644 --- a/pkgs/development/tools/diesel-cli/default.nix +++ b/pkgs/development/tools/diesel-cli/default.nix @@ -9,11 +9,9 @@ assert lib.assertMsg (sqliteSupport == true || postgresqlSupport == true || mysq let inherit (lib) optional optionals optionalString; - features = '' - ${optionalString sqliteSupport "sqlite"} \ - ${optionalString postgresqlSupport "postgres"} \ - ${optionalString mysqlSupport "mysql"} \ - ''; + features = optional sqliteSupport "sqlite" + ++ optional postgresqlSupport "postgres" + ++ optional mysqlSupport "mysql"; in rustPlatform.buildRustPackage rec { @@ -35,11 +33,12 @@ rustPlatform.buildRustPackage rec { ./allow-warnings.patch ]; - cargoBuildFlags = [ "--no-default-features --features \"${features}\"" ]; + cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ]; cargoPatches = [ ./cargo-lock.patch ]; cargoSha256 = "1vbb7r0dpmq8363i040bkhf279pz51c59kcq9v5qr34hs49ish8g"; nativeBuildInputs = [ pkg-config ]; + buildInputs = [ openssl ] ++ optional stdenv.isDarwin Security ++ optional (stdenv.isDarwin && mysqlSupport) libiconv @@ -47,12 +46,7 @@ rustPlatform.buildRustPackage rec { ++ optional postgresqlSupport postgresql ++ optionals mysqlSupport [ mysql zlib ]; - # We must `cd diesel_cli`, we cannot use `--package diesel_cli` to build - # because --features fails to apply to the package: - # https://github.com/rust-lang/cargo/issues/5015 - # https://github.com/rust-lang/cargo/issues/4753 - preBuild = "cd diesel_cli"; - postBuild = "cd .."; + buildAndTestSubdir = "diesel_cli"; checkPhase = optionalString sqliteSupport '' (cd diesel_cli && cargo check --features sqlite) @@ -65,7 +59,7 @@ rustPlatform.buildRustPackage rec { # Fix the build with mariadb, which otherwise shows "error adding symbols: # DSO missing from command line" errors for libz and libssl. - NIX_LDFLAGS = lib.optionalString mysqlSupport "-lz -lssl -lcrypto"; + NIX_LDFLAGS = optionalString mysqlSupport "-lz -lssl -lcrypto"; meta = with lib; { description = "Database tool for working with Rust projects that use Diesel"; diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix index d82c288e5aa..e74a6b9c3c6 100644 --- a/pkgs/development/tools/documentation/gtk-doc/default.nix +++ b/pkgs/development/tools/documentation/gtk-doc/default.nix @@ -5,7 +5,7 @@ , pkg-config , python3 , docbook_xml_dtd_43 -, docbook_xsl +, docbook-xsl-nons , libxslt , gettext , gnome3 @@ -14,7 +14,9 @@ python3.pkgs.buildPythonApplication rec { pname = "gtk-doc"; - version = "1.33.1"; + version = "1.33.2"; + + outputDevdoc = "out"; format = "other"; @@ -23,15 +25,13 @@ python3.pkgs.buildPythonApplication rec { owner = "GNOME"; repo = pname; rev = version; - sha256 = "L9CjhZ60F42xbo50x7cdKfJrav/9mf38pff8S4xkEVo="; + sha256 = "A6OXpazrJ05SUIO1ZPVN0xHTXOSov8UnPvUolZAv/Iw="; }; patches = [ passthru.respect_xml_catalog_files_var_patch ]; - outputDevdoc = "out"; - nativeBuildInputs = [ pkg-config gettext @@ -42,7 +42,7 @@ python3.pkgs.buildPythonApplication rec { buildInputs = [ docbook_xml_dtd_43 - docbook_xsl + docbook-xsl-nons libxslt ] ++ lib.optionals withDblatex [ dblatex @@ -50,7 +50,6 @@ python3.pkgs.buildPythonApplication rec { pythonPath = with python3.pkgs; [ pygments # Needed for https://gitlab.gnome.org/GNOME/gtk-doc/blob/GTK_DOC_1_32/meson.build#L42 - (anytree.override { withGraphviz = false; }) lxml ]; @@ -79,8 +78,8 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "Tools to extract documentation embedded in GTK and GNOME source code"; - homepage = "https://www.gtk.org/gtk-doc"; - license = licenses.gpl2; - maintainers = with maintainers; [ pSub worldofpeace ]; + homepage = "https://gitlab.gnome.org/GNOME/gtk-doc"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members ++ (with maintainers; [ pSub ]); }; } diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix index 6afc4415e11..ba1fa720dd4 100644 --- a/pkgs/development/tools/misc/help2man/default.nix +++ b/pkgs/development/tools/misc/help2man/default.nix @@ -6,11 +6,11 @@ # files. stdenv.mkDerivation rec { - name = "help2man-1.47.16"; + name = "help2man-1.47.17"; src = fetchurl { url = "mirror://gnu/help2man/${name}.tar.xz"; - sha256 = "1x586h7wvripcay35kdh2kvydx84y8yy93ffjah2rqw6bc65iy1y"; + sha256 = "sha256-2jo1xQseH4yPoyLWn6R8kBHORDqPuNHWcbHwG4sACOs="; }; nativeBuildInputs = [ gettext perlPackages.LocaleGettext ]; diff --git a/pkgs/development/tools/parsing/bison/default.nix b/pkgs/development/tools/parsing/bison/default.nix index 662961ae46a..42c9ee872fe 100644 --- a/pkgs/development/tools/parsing/bison/default.nix +++ b/pkgs/development/tools/parsing/bison/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "bison"; - version = "3.7.4"; + version = "3.7.5"; src = fetchurl { url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; - sha256 = "1qkp2rfi5njyp5c5avajab00aj74pkmkgzkvshv4p2ydkhswgazv"; + sha256 = "sha256-FRy18ScW4/6TonoxfNRIeDKWWfJ1s0J3m/rvSlJrv3A="; }; nativeBuildInputs = [ m4 perl ] ++ lib.optional stdenv.isSunOS help2man; diff --git a/pkgs/development/tools/the-way/default.nix b/pkgs/development/tools/the-way/default.nix index e8f52fa8334..6d7fbef2f19 100644 --- a/pkgs/development/tools/the-way/default.nix +++ b/pkgs/development/tools/the-way/default.nix @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "sha256-jTZso61Lyt6jprBxBAhvchgOsgM9y1qBleTxUx1jCnE="; checkFlagsArray = lib.optionals stdenv.isDarwin [ "--skip=copy" ]; - cargoParallelTestThreads = false; + dontUseCargoParallelTests = true; postInstall = '' $out/bin/the-way config default tmp.toml diff --git a/pkgs/games/black-hole-solver/default.nix b/pkgs/games/black-hole-solver/default.nix new file mode 100644 index 00000000000..e859e72d96b --- /dev/null +++ b/pkgs/games/black-hole-solver/default.nix @@ -0,0 +1,30 @@ +{ + stdenv, lib, fetchurl, + cmake, perl, pkg-config, python3, + rinutils, PathTiny, +}: + +stdenv.mkDerivation rec { + pname = "black-hole-solver"; + version = "1.10.1"; + + meta = with lib; { + homepage = "https://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/"; + description = "A solver for Solitaire variants Golf, Black Hole, and All in a Row."; + license = licenses.mit; + }; + + src = fetchurl { + url = "https://fc-solve.shlomifish.org/downloads/fc-solve/${pname}-${version}.tar.xz"; + sha256 = "1qhihmk4fwz6n16c7bnxnh3v7jhbb7xhkc9wk9484bp0k4x9bq9n"; + }; + + nativeBuildInputs = [ cmake perl pkg-config python3 ]; + + buildInputs = [ rinutils PathTiny ]; + + prePatch = '' + patchShebangs ./scripts + ''; + +} diff --git a/pkgs/misc/emulators/mednaffe/default.nix b/pkgs/misc/emulators/mednaffe/default.nix index 7d0d6c6f68e..8a11b633d28 100644 --- a/pkgs/misc/emulators/mednaffe/default.nix +++ b/pkgs/misc/emulators/mednaffe/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "mednaffe"; - version = "0.9.0"; + version = "0.9.1"; src = fetchFromGitHub { owner = "AmatCoder"; repo = "mednaffe"; rev = version; - sha256 = "sha256-BS/GNnRYj9klc4RRj7LwNikgApNttv4IyWPL694j+gM="; + sha256 = "sha256-YU8PHnQHAsY90LN/WDugi4WhsuZGBj/z3BS4o69qMS4="; }; nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ]; diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix index 24d2b5e135c..9dd97367441 100644 --- a/pkgs/misc/jackaudio/default.nix +++ b/pkgs/misc/jackaudio/default.nix @@ -48,6 +48,9 @@ stdenv.mkDerivation rec { --replace /bin/bash ${bash}/bin/bash ''; + PKGCONFIG = "${stdenv.cc.targetPrefix}pkg-config"; + + dontAddWafCrossFlags = "true"; wafConfigureFlags = [ "--classic" "--autostart=${if (optDbus != null) then "dbus" else "classic"}" diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix index 602d4278183..09dbdbc9b6f 100644 --- a/pkgs/os-specific/linux/alsa-plugins/default.nix +++ b/pkgs/os-specific/linux/alsa-plugins/default.nix @@ -15,8 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib libogg ] ++ lib.optional (libpulseaudio != null) libpulseaudio - # https://github.com/NixOS/nixpkgs/issues/96548 - ++ lib.optional (libjack2 != null && (stdenv.buildPlatform == stdenv.hostPlatform)) libjack2; + ++ lib.optional (libjack2 != null) libjack2; meta = with lib; { description = "Various plugins for ALSA"; diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix index 6cee603664d..bd52f37e62f 100644 --- a/pkgs/os-specific/linux/hwdata/default.nix +++ b/pkgs/os-specific/linux/hwdata/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "hwdata"; - version = "0.335"; + version = "0.344"; src = fetchFromGitHub { owner = "vcrhonek"; repo = "hwdata"; rev = "v${version}"; - sha256 = "0f8ikwfrs6xd5sywypd9rq9cln8a0rf3vj6nm0adwzn1p8mgmrb2"; + sha256 = "0rsnm94r814shr86jk6f2323i1n4p58inkgkx7362yz9k4a8ir7a"; }; preConfigure = "patchShebangs ./configure"; @@ -19,12 +19,12 @@ stdenv.mkDerivation rec { outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "101lppd1805drwd038b4njr5czzjnqqxf3xlf6v3l22wfwr2cn3l"; + outputHash = "011lyldzskfb4sfn4i7qyyq3i4gaf1v9yfbc82889cabka0n4nfz"; meta = { homepage = "https://github.com/vcrhonek/hwdata"; description = "Hardware Database, including Monitors, pci.ids, usb.ids, and video cards"; - license = lib.licenses.gpl2; - platforms = lib.platforms.linux; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.all; }; } diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index 7a81d9434e3..a2a63e2bcab 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -69,12 +69,12 @@ let in { inherit makeLinuxHeaders; - linuxHeaders = let version = "5.10.9"; in + linuxHeaders = let version = "5.11"; in makeLinuxHeaders { inherit version; src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "0la7dklpy6xd79fkzavpmlfyrc60kmmwz491msd95dmvv06kwwvz"; + sha256 = "1d37w0zvmf8c1l99xvy1hy6p55icjhmbsv7f0amxy2nly1a7pw04"; }; patches = [ ./no-relocs.patch # for building x86 kernel headers on non-ELF platforms diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index c71fdc32735..11e318bd140 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -250,10 +250,16 @@ let DRM_AMDGPU_SI = whenAtLeast "4.9" yes; # (stable) amdgpu support for bonaire and newer chipsets DRM_AMDGPU_CIK = whenAtLeast "4.9" yes; - # amdgpu support for RX6000 series - DRM_AMD_DC_DCN3_0 = whenAtLeast "5.9.12" yes; # Allow device firmware updates DRM_DP_AUX_CHARDEV = whenAtLeast "4.6" yes; + # amdgpu display core (DC) support + DRM_AMD_DC_DCN1_0 = whenBetween "4.15" "5.6" yes; + DRM_AMD_DC_PRE_VEGA = whenBetween "4.15" "4.18" yes; + DRM_AMD_DC_DCN2_0 = whenBetween "5.3" "5.6" yes; + DRM_AMD_DC_DCN2_1 = whenBetween "5.4" "5.6" yes; + DRM_AMD_DC_DCN3_0 = whenBetween "5.9" "5.11" yes; + DRM_AMD_DC_HDCP = whenAtLeast "5.5" yes; + DRM_AMD_DC_SI = whenAtLeast "5.10" yes; } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") { # Intel GVT-g graphics virtualization supports 64-bit only DRM_I915_GVT = whenAtLeast "4.16" yes; @@ -637,7 +643,12 @@ let XZ_DEC_TEST = option no; }; - criu = optionalAttrs (features.criu or false) ({ + criu = if (versionAtLeast version "4.19") then { + # Unconditionally enabled, because it is required for CRIU and + # it provides the kcmp() system call that Mesa depends on. + CHECKPOINT_RESTORE = yes; + } else optionalAttrs (features.criu or false) ({ + # For older kernels, CHECKPOINT_RESTORE is hidden behind EXPERT. EXPERT = yes; CHECKPOINT_RESTORE = yes; } // optionalAttrs (features.criu_revert_expert or true) { diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix index 63d8114ac77..3310692b31d 100644 --- a/pkgs/os-specific/linux/musl/default.nix +++ b/pkgs/os-specific/linux/musl/default.nix @@ -16,6 +16,11 @@ let sha256 = "14igk6k00bnpfw660qhswagyhvr0gfqg4q55dxvaaq7ikfkrir71"; }; + stack_chk_fail_local_c = fetchurl { + url = "https://git.alpinelinux.org/aports/plain/main/musl/__stack_chk_fail_local.c?h=3.10-stable"; + sha256 = "1nhkzzy9pklgjcq2yg89d3l18jif331srd3z3vhy5qwxl1spv6i9"; + }; + # iconv tool, implemented by musl author. # Original: http://git.etalabs.net/cgit/noxcuse/plain/src/iconv.c?id=02d288d89683e99fd18fe9f54d4e731a6c474a4f # We use copy from Alpine which fixes error messages, see: @@ -87,6 +92,16 @@ stdenv.mkDerivation rec { NIX_DONT_SET_RPATH = true; + preBuild = '' + ${if (stdenv.targetPlatform.libc == "musl" && stdenv.targetPlatform.isx86_32) then + "# the -x c flag is required since the file extension confuses gcc + # that detect the file as a linker script. + $CC -x c -c ${stack_chk_fail_local_c} -o __stack_chk_fail_local.o + $AR r libssp_nonshared.a __stack_chk_fail_local.o" + else "" + } + ''; + postInstall = '' # Not sure why, but link in all but scsi directory as that's what uclibc/glibc do. # Apparently glibc provides scsi itself? @@ -96,6 +111,13 @@ stdenv.mkDerivation rec { $STRIP -S $out/lib/libc.a mkdir -p $out/bin + + ${if (stdenv.targetPlatform.libc == "musl" && stdenv.targetPlatform.isx86_32) then + "install -D libssp_nonshared.a $out/lib/libssp_nonshared.a + $STRIP -S $out/lib/libssp_nonshared.a" + else "" + } + # Create 'ldd' symlink, builtin ln -rs $out/lib/libc.so $out/bin/ldd diff --git a/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch b/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch index 476ebe06e70..3e40385c3bb 100644 --- a/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch +++ b/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch @@ -1,24 +1,23 @@ -From 6ede8baac88aba769030f5bc5f5b2070098c7428 Mon Sep 17 00:00:00 2001 +From 95e4533f1eeb6e0d509f9129d0133f0b849cc3c5 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra <eelco.dolstra@logicblox.com> Date: Fri, 19 Dec 2014 14:46:17 +0100 Subject: [PATCH 05/18] Add some NixOS-specific unit directories -Look in `/nix/var/nix/profiles/default/lib/systemd` for units provided -by packages installed into the default profile via -`nix-env -iA nixos.$package`, and into `/etc/systemd-mutable/system` for -persistent, mutable units (used for Dysnomia). +Look in `/nix/var/nix/profiles/default/lib/systemd/{system,user}` for +units provided by packages installed into the default profile via +`nix-env -iA nixos.$package`. Also, remove /usr and /lib as these don't exist on NixOS. --- - src/basic/path-lookup.c | 20 +++++--------------- + src/basic/path-lookup.c | 17 ++--------------- src/core/systemd.pc.in | 5 +++-- - 2 files changed, 8 insertions(+), 17 deletions(-) + 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c -index 96b82170d0..b9fbed5c61 100644 +index 96b82170d0..bf66bd6b77 100644 --- a/src/basic/path-lookup.c +++ b/src/basic/path-lookup.c -@@ -94,17 +94,14 @@ int xdg_user_data_dir(char **ret, const char *suffix) { +@@ -94,11 +94,7 @@ int xdg_user_data_dir(char **ret, const char *suffix) { } static const char* const user_data_unit_paths[] = { @@ -30,18 +29,10 @@ index 96b82170d0..b9fbed5c61 100644 NULL }; - static const char* const user_config_unit_paths[] = { - USER_CONFIG_UNIT_DIR, - "/etc/systemd/user", -+ "/etc/systemd-mutable/user", - NULL - }; - -@@ -616,15 +613,14 @@ int lookup_paths_init( +@@ -616,15 +612,13 @@ int lookup_paths_init( persistent_config, SYSTEM_CONFIG_UNIT_DIR, "/etc/systemd/system", -+ "/etc/systemd-mutable/system", + "/nix/var/nix/profiles/default/lib/systemd/system", STRV_IFNOTNULL(persistent_attached), runtime_config, @@ -55,11 +46,10 @@ index 96b82170d0..b9fbed5c61 100644 STRV_IFNOTNULL(generator_late)); break; -@@ -640,14 +636,12 @@ int lookup_paths_init( +@@ -640,14 +634,11 @@ int lookup_paths_init( persistent_config, USER_CONFIG_UNIT_DIR, "/etc/systemd/user", -+ "/etc/systemd-mutable/user", + "/nix/var/nix/profiles/default/lib/systemd/user", runtime_config, "/run/systemd/user", @@ -72,7 +62,7 @@ index 96b82170d0..b9fbed5c61 100644 STRV_IFNOTNULL(generator_late)); break; -@@ -797,7 +791,6 @@ char **generator_binary_paths(UnitFileScope scope) { +@@ -797,7 +788,6 @@ char **generator_binary_paths(UnitFileScope scope) { case UNIT_FILE_SYSTEM: add = strv_new("/run/systemd/system-generators", "/etc/systemd/system-generators", @@ -80,7 +70,7 @@ index 96b82170d0..b9fbed5c61 100644 SYSTEM_GENERATOR_DIR); break; -@@ -805,7 +798,6 @@ char **generator_binary_paths(UnitFileScope scope) { +@@ -805,7 +795,6 @@ char **generator_binary_paths(UnitFileScope scope) { case UNIT_FILE_USER: add = strv_new("/run/systemd/user-generators", "/etc/systemd/user-generators", @@ -88,7 +78,7 @@ index 96b82170d0..b9fbed5c61 100644 USER_GENERATOR_DIR); break; -@@ -844,12 +836,10 @@ char **env_generator_binary_paths(bool is_system) { +@@ -844,12 +833,10 @@ char **env_generator_binary_paths(bool is_system) { if (is_system) add = strv_new("/run/systemd/system-environment-generators", "/etc/systemd/system-environment-generators", @@ -102,7 +92,7 @@ index 96b82170d0..b9fbed5c61 100644 if (!add) diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in -index f2c045511d..ccb382e421 100644 +index f2c045511d..d38a3a0302 100644 --- a/src/core/systemd.pc.in +++ b/src/core/systemd.pc.in @@ -38,10 +38,11 @@ systemdsystemconfdir=${systemd_system_conf_dir} @@ -110,11 +100,11 @@ index f2c045511d..ccb382e421 100644 systemduserconfdir=${systemd_user_conf_dir} -systemd_system_unit_path=${systemd_system_conf_dir}:/etc/systemd/system:/run/systemd/system:/usr/local/lib/systemd/system:${systemd_system_unit_dir}:/usr/lib/systemd/system:/lib/systemd/system -+systemd_system_unit_path=${systemd_system_conf_dir}:/etc/systemd/system:/etc/systemd-mutable/system:/nix/var/nix/profiles/default/lib/systemd/system:/run/systemd/system:${systemdsystemunitdir} ++systemd_system_unit_path=${systemd_system_conf_dir}:/etc/systemd/system:/nix/var/nix/profiles/default/lib/systemd/system:/run/systemd/system:${systemdsystemunitdir} systemdsystemunitpath=${systemd_system_unit_path} -systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/run/systemd/user:/usr/local/lib/systemd/user:/usr/local/share/systemd/user:${systemd_user_unit_dir}:/usr/lib/systemd/user:/usr/share/systemd/user -+systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/etc/systemd-mutable/user:/nix/var/nix/profiles/default/lib/systemd/user:/run/systemd/user:${systemduserunitdir} ++systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/nix/var/nix/profiles/default/lib/systemd/user:/run/systemd/user:${systemduserunitdir} + systemduserunitpath=${systemd_user_unit_path} diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 421fc5986af..7e3c6d1fe51 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -1,3 +1,5 @@ +# NOTE: Make sure to (re-)format this file on changes with `nixpkgs-fmt`! + { stdenv , lib , fetchFromGitHub @@ -111,7 +113,7 @@ assert withCryptsetup -> let wantCurl = withRemote || withImportd; - version = "247.2"; + version = "247.3"; in stdenv.mkDerivation { inherit version pname; @@ -122,7 +124,7 @@ stdenv.mkDerivation { owner = "systemd"; repo = "systemd-stable"; rev = "v${version}"; - sha256 = "091pwrvxz3gcf80shlp28d6l4gvjzc6pb61v4mwxmk9d71qaq7ry"; + sha256 = "0zn0b74iwz3vxabqsk4yydwpgky3c5z4dl83wxbs1qi5d2dnbqa7"; }; # If these need to be regenerated, `git am path/to/00*.patch` them into a @@ -160,83 +162,87 @@ stdenv.mkDerivation { --replace \ "find_program('objcopy'" \ "find_program('${stdenv.cc.bintools.targetPrefix}objcopy'" - '' + (let - - # The folllowing dlopen patches ensure that all the features that are - # implemented via dlopen(3) are available (or explicitly deactivated) by - # pointing dlopen to the absolute store path instead of relying on the - # linkers runtime lookup code. - # - # All of the dlopen calls have to be handled. When new ones are introduced - # by upstream (or one of our patches) they must be explicitly declared, - # otherwise the build will fail. - # - # As of systemd version 247 we've seen a few errors like `libpcre2.… not - # found` when using e.g. --grep with journalctl. Those errors should - # become less unexpected now. - # - # There are generally two classes of dlopen(3) calls. Those that we want to - # support and those that should be deactivated / unsupported. This change - # enforces that we handle all dlopen calls explicitly. Meaning: There is - # not a single dlopen call in the source code tree that we did not - # explicitly handle. - # - # In order to do this we introduced a list of attributes that maps from - # shared object name to the package that contains them. The package can be - # null meaning the reference should be nuked and the shared object will - # never be loadable during runtime (because it points at an invalid store - # path location). - # - # To get a list of dynamically loaded libraries issue something like - # `grep -ri 'dlopen("lib' $src` and update the below list. - dlopenLibs = [ - # We did never provide support for libxkbcommon & qrencode - { name = "libxkbcommon.so.0"; pkg = null; } - { name = "libqrencode.so.4"; pkg = null; } - - # We did not provide libpwquality before so it is safe to disable it for - # now. - { name = "libpwquality.so.1"; pkg = null; } - - # Only include cryptsetup if it is enabled. We might not be able to - # provide it during "bootstrap" in e.g. the minimal systemd build as - # cryptsetup has udev (aka systemd) in it's dependencies. - { name = "libcryptsetup.so.12"; pkg = if withCryptsetup then cryptsetup else null; } - - # We are using libidn2 so we only provide that and ignore the others. - # Systemd does this decision during configure time and uses ifdef's to - # enable specific branches. We can safely ignore (nuke) the libidn "v1" - # libraries. - { name = "libidn2.so.0"; pkg = libidn2; } - { name = "libidn.so.12"; pkg = null; } - { name = "libidn.so.11"; pkg = null; } - - # journalctl --grep requires libpcre so lets provide it - { name = "libpcre2-8.so.0"; pkg = pcre2; } - ]; - - patchDlOpen = dl: let - library = "${lib.makeLibraryPath [dl.pkg]}/${dl.name}"; - in if dl.pkg == null then '' - # remove the dependency on the library by replacing it with an invalid path - for file in $(grep -lr 'dlopen("${dl.name}"' src); do - echo "patching dlopen(\"${dl.name}\", …) in $file to an invalid store path ("/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-not-implemented/${dl.name}")…" - substituteInPlace "$file" --replace 'dlopen("${dl.name}"' 'dlopen("/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-not-implemented/${dl.name}"' - done - '' else '' - # ensure that the library we provide actually exists - if ! [ -e ${library} ]; then - echo 'The shared library `${library}` does not exist but was given as subtitute for `${dl.name}`' - exit 1 - fi - # make the path to the dependency explicit - for file in $(grep -lr 'dlopen("${dl.name}"' src); do - echo "patching dlopen(\"${dl.name}\", …) in $file to ${library}…" - substituteInPlace "$file" --replace 'dlopen("${dl.name}"' 'dlopen("${library}"' - done - ''; - in # patch all the dlopen calls to contain absolute paths to the libraries - lib.concatMapStringsSep "\n" patchDlOpen dlopenLibs) + '' + ( + let + # The folllowing dlopen patches ensure that all the features that are + # implemented via dlopen(3) are available (or explicitly deactivated) by + # pointing dlopen to the absolute store path instead of relying on the + # linkers runtime lookup code. + # + # All of the dlopen calls have to be handled. When new ones are introduced + # by upstream (or one of our patches) they must be explicitly declared, + # otherwise the build will fail. + # + # As of systemd version 247 we've seen a few errors like `libpcre2.… not + # found` when using e.g. --grep with journalctl. Those errors should + # become less unexpected now. + # + # There are generally two classes of dlopen(3) calls. Those that we want to + # support and those that should be deactivated / unsupported. This change + # enforces that we handle all dlopen calls explicitly. Meaning: There is + # not a single dlopen call in the source code tree that we did not + # explicitly handle. + # + # In order to do this we introduced a list of attributes that maps from + # shared object name to the package that contains them. The package can be + # null meaning the reference should be nuked and the shared object will + # never be loadable during runtime (because it points at an invalid store + # path location). + # + # To get a list of dynamically loaded libraries issue something like + # `grep -ri 'dlopen("lib' $src` and update the below list. + dlopenLibs = [ + # We did never provide support for libxkbcommon & qrencode + { name = "libxkbcommon.so.0"; pkg = null; } + { name = "libqrencode.so.4"; pkg = null; } + + # We did not provide libpwquality before so it is safe to disable it for + # now. + { name = "libpwquality.so.1"; pkg = null; } + + # Only include cryptsetup if it is enabled. We might not be able to + # provide it during "bootstrap" in e.g. the minimal systemd build as + # cryptsetup has udev (aka systemd) in it's dependencies. + { name = "libcryptsetup.so.12"; pkg = if withCryptsetup then cryptsetup else null; } + + # We are using libidn2 so we only provide that and ignore the others. + # Systemd does this decision during configure time and uses ifdef's to + # enable specific branches. We can safely ignore (nuke) the libidn "v1" + # libraries. + { name = "libidn2.so.0"; pkg = libidn2; } + { name = "libidn.so.12"; pkg = null; } + { name = "libidn.so.11"; pkg = null; } + + # journalctl --grep requires libpcre so lets provide it + { name = "libpcre2-8.so.0"; pkg = pcre2; } + ]; + + patchDlOpen = dl: + let + library = "${lib.makeLibraryPath [ dl.pkg ]}/${dl.name}"; + in + if dl.pkg == null then '' + # remove the dependency on the library by replacing it with an invalid path + for file in $(grep -lr 'dlopen("${dl.name}"' src); do + echo "patching dlopen(\"${dl.name}\", …) in $file to an invalid store path ("/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-not-implemented/${dl.name}")…" + substituteInPlace "$file" --replace 'dlopen("${dl.name}"' 'dlopen("/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-not-implemented/${dl.name}"' + done + '' else '' + # ensure that the library we provide actually exists + if ! [ -e ${library} ]; then + echo 'The shared library `${library}` does not exist but was given as subtitute for `${dl.name}`' + exit 1 + fi + # make the path to the dependency explicit + for file in $(grep -lr 'dlopen("${dl.name}"' src); do + echo "patching dlopen(\"${dl.name}\", …) in $file to ${library}…" + substituteInPlace "$file" --replace 'dlopen("${dl.name}"' 'dlopen("${library}"' + done + ''; + in + # patch all the dlopen calls to contain absolute paths to the libraries + lib.concatMapStringsSep "\n" patchDlOpen dlopenLibs + ) # finally ensure that there are no left-over dlopen calls that we didn't handle + '' if grep -qr 'dlopen("[^/]' src; then diff --git a/pkgs/servers/livepeer/default.nix b/pkgs/servers/livepeer/default.nix index a016c8e7f09..ad67cdf4348 100644 --- a/pkgs/servers/livepeer/default.nix +++ b/pkgs/servers/livepeer/default.nix @@ -4,16 +4,16 @@ buildGoModule rec { pname = "livepeer"; - version = "0.5.13"; + version = "0.5.14"; runVend = true; - vendorSha256 = "sha256-wAjGgYDyBWqE8KCQ6TQ+LGDDZqF+5XY+NzU74RwPuRE="; + vendorSha256 = "sha256-StkgU11VLEKg89kn3zPcdC8HBw9MmJrfDPGk1SUQO64="; src = fetchFromGitHub { owner = "livepeer"; repo = "go-livepeer"; rev = "v${version}"; - sha256 = "sha256-b4O8Hc8A8TN5KFcQ7KYvFPVFgposDgPw06WowrXzpAs="; + sha256 = "sha256-GxgpGI1ymhbYhzCP2Bs5wJ5kq5rHHkClXcAsYlaQ/AM="; }; # livepeer_cli has a vendoring problem diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix index 27345616f89..d2f87295fbb 100644 --- a/pkgs/servers/sql/postgresql/default.nix +++ b/pkgs/servers/sql/postgresql/default.nix @@ -192,54 +192,54 @@ let in self: { postgresql_9_5 = self.callPackage generic { - version = "9.5.24"; + version = "9.5.25"; psqlSchema = "9.5"; - sha256 = "0an2k4m1da96897hyxlff8p4p63wg4dffwsfg57aib7mp4yzsp06"; + sha256 = "00yny0sskxrqk4ji2phgv3iqxd1aiy6rh660k73s4s1pn9gcaa3n"; this = self.postgresql_9_5; thisAttr = "postgresql_9_5"; inherit self; }; postgresql_9_6 = self.callPackage generic { - version = "9.6.20"; + version = "9.6.21"; psqlSchema = "9.6"; - sha256 = "1dkv916y7vrfbygrfbfvs6y3fxaysnh32i5j88nvcnnl16jcn21x"; + sha256 = "0d0ngpadf1i7c0i2psaxcbmiwx8334ibcsn283n9fp4853pyl3wk"; this = self.postgresql_9_6; thisAttr = "postgresql_9_6"; inherit self; }; postgresql_10 = self.callPackage generic { - version = "10.15"; + version = "10.16"; psqlSchema = "10.0"; # should be 10, but changing it is invasive - sha256 = "0zhzj9skag1pgqas2rnd217vj41ilaalqna17j47gyngpvhbqmjr"; + sha256 = "1cvv8qw0gkkczqhiwx6ns7w88dwkvdz4cvb2d4ff14363f5p2p53"; this = self.postgresql_10; thisAttr = "postgresql_10"; inherit self; }; postgresql_11 = self.callPackage generic { - version = "11.10"; + version = "11.11"; psqlSchema = "11.1"; # should be 11, but changing it is invasive - sha256 = "16bqp6ds37kbwqx7mk5gg3y6gv59wq6xz33iqwxldzk20vwd5rhk"; + sha256 = "0v0qk298nxmpzpgsxcsxma328hdkyzd7fwjs0zsn6zavl5zpnq20"; this = self.postgresql_11; thisAttr = "postgresql_11"; inherit self; }; postgresql_12 = self.callPackage generic { - version = "12.5"; + version = "12.6"; psqlSchema = "12"; - sha256 = "15gzg778da23sbfmy7sqg443f9ny480301lm7i3vay4m3ls2a3dx"; + sha256 = "028asz92mi3706zabfs8w9z03mzyx62d1l71qy9zdwfabj6xjzfz"; this = self.postgresql_12; thisAttr = "postgresql_12"; inherit self; }; postgresql_13 = self.callPackage generic { - version = "13.1"; + version = "13.2"; psqlSchema = "13"; - sha256 = "07z6zwr58dckaa97yl9ml240z83d1lhgaxw9aq49i8lsp21mqd0j"; + sha256 = "1z5d847jnajcfr3wa6jn52a8xjhamvwzmz18xlm5nvxqip8grmsz"; this = self.postgresql_13; thisAttr = "postgresql_13"; inherit self; diff --git a/pkgs/shells/liquidprompt/default.nix b/pkgs/shells/liquidprompt/default.nix index 4463d70cf52..a84e2e14677 100644 --- a/pkgs/shells/liquidprompt/default.nix +++ b/pkgs/shells/liquidprompt/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "liquidprompt"; - version = "1.12.1"; + version = "2.0.0"; src = fetchFromGitHub { owner = "nojhan"; repo = pname; rev = "v${version}"; - sha256 = "0vlwwkdbkxjsjcfmcspmq3f163kf0x4mwa8svxkzgnn2g4kl41ja"; + sha256 = "sha256-+qNH4Df0wCI3KE6LT3YWKpp7yzJcedmVlm/f1Myz108="; }; installPhase = '' diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix index ec9cd7ca61a..c55c1bc1c5d 100644 --- a/pkgs/tools/filesystems/btrfs-progs/default.nix +++ b/pkgs/tools/filesystems/btrfs-progs/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "btrfs-progs"; - version = "5.10"; + version = "5.10.1"; src = fetchurl { url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz"; - sha256 = "sha256-5xoNbdUE86XZV/zpowKB62Hs+ZHIrzFf4AYaG5eh0CE="; + sha256 = "sha256-E3nMcx/q5/RzrZ43yEW7+4czge9ns0Dxoi+8qaTaA0Q="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/misc/bc/default.nix b/pkgs/tools/misc/bc/default.nix index 96c2d00ffa8..bb5ed84e7d7 100644 --- a/pkgs/tools/misc/bc/default.nix +++ b/pkgs/tools/misc/bc/default.nix @@ -3,9 +3,10 @@ }: stdenv.mkDerivation rec { - name = "bc-1.07.1"; + pname = "bc"; + version = "1.07.1"; src = fetchurl { - url = "mirror://gnu/bc/${name}.tar.gz"; + url = "mirror://gnu/bc/${pname}-${version}.tar.gz"; sha256 = "62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a"; }; @@ -30,10 +31,10 @@ stdenv.mkDerivation rec { # masss-rebuild. strictDeps = true; - meta = { + meta = with lib; { description = "GNU software calculator"; homepage = "https://www.gnu.org/software/bc/"; - license = lib.licenses.gpl3; - platforms = lib.platforms.all; + license = licenses.gpl3Plus; + platforms = platforms.all; }; } diff --git a/pkgs/tools/misc/hdf4/default.nix b/pkgs/tools/misc/hdf4/default.nix index d127bc25c3c..5373c64d647 100644 --- a/pkgs/tools/misc/hdf4/default.nix +++ b/pkgs/tools/misc/hdf4/default.nix @@ -4,11 +4,15 @@ , fixDarwinDylibNames , cmake , libjpeg +, uselibtirpc ? stdenv.isLinux , libtirpc , zlib , szip ? null +, javaSupport ? false +, jdk }: -let uselibtirpc = stdenv.isLinux; +let + javabase = "${jdk}/jre/lib/${jdk.architecture}"; in stdenv.mkDerivation rec { pname = "hdf"; @@ -52,9 +56,9 @@ stdenv.mkDerivation rec { libjpeg szip zlib - ] ++ lib.optionals uselibtirpc [ - libtirpc - ]; + ] + ++ lib.optional javaSupport jdk + ++ lib.optional uselibtirpc libtirpc; preConfigure = lib.optionalString uselibtirpc '' # Make tirpc discovery work with CMAKE_PREFIX_PATH @@ -75,6 +79,11 @@ stdenv.mkDerivation rec { "-DHDF4_ENABLE_Z_LIB_SUPPORT=ON" "-DHDF4_BUILD_FORTRAN=OFF" "-DJPEG_DIR=${libjpeg}" + ] ++ lib.optionals javaSupport [ + "-DHDF4_BUILD_JAVA=ON" + "-DJAVA_HOME=${jdk}" + "-DJAVA_AWT_LIBRARY=${javabase}/libawt.so" + "-DJAVA_JVM_LIBRARY=${javabase}/server/libjvm.so" ] ++ lib.optionals (szip != null) [ "-DHDF4_ENABLE_SZIP_ENCODING=ON" "-DHDF4_ENABLE_SZIP_SUPPORT=ON" diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index fc7bb635040..e97a6dbdd18 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -8,6 +8,8 @@ , mpiSupport ? false , mpi , enableShared ? !stdenv.hostPlatform.isStatic +, javaSupport ? false +, jdk }: # cpp and mpi options are mutually exclusive @@ -17,11 +19,11 @@ assert !cpp || !mpiSupport; let inherit (lib) optional optionals; in stdenv.mkDerivation rec { - version = "1.10.6"; + version = "1.10.7"; pname = "hdf5"; src = fetchurl { url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/${pname}-${version}/src/${pname}-${version}.tar.bz2"; - sha256 = "1gf38x51128hn00744358w27xgzjk0ff4wra4yxh2lk804ck1mh9"; + sha256 = "0pm5xxry55i0h7wmvc7svzdaa90rnk7h78rrjmnlkz2ygsn8y082"; }; passthru = { @@ -35,7 +37,8 @@ stdenv.mkDerivation rec { buildInputs = [] ++ optional (gfortran != null) gfortran - ++ optional (szip != null) szip; + ++ optional (szip != null) szip + ++ optional javaSupport jdk; propagatedBuildInputs = [] ++ optional (zlib != null) zlib @@ -46,7 +49,8 @@ stdenv.mkDerivation rec { ++ optional (gfortran != null) "--enable-fortran" ++ optional (szip != null) "--with-szlib=${szip}" ++ optionals mpiSupport ["--enable-parallel" "CC=${mpi}/bin/mpicc"] - ++ optional enableShared "--enable-shared"; + ++ optional enableShared "--enable-shared" + ++ optional javaSupport "--enable-java"; patches = [ ./bin-mv.patch diff --git a/pkgs/tools/misc/hdfjava/default.nix b/pkgs/tools/misc/hdfjava/default.nix deleted file mode 100644 index 70a2f091116..00000000000 --- a/pkgs/tools/misc/hdfjava/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, javac }: - -stdenv.mkDerivation rec { - pname = "hdf-java"; - version = "3.3.2"; - - src = fetchurl { - url = "http://www.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfjni-${version}/src/CMake-hdfjava-${version}.tar.gz"; - sha256 = "0m1gp2aspcblqzmpqbdpfp6giskws85ds6p5gz8sx7asyp7wznpr"; - }; - - nativeBuildInputs = [ cmake javac ]; - - dontConfigure = true; - buildPhase = "./build-hdfjava-unix.sh"; - installPhase = '' - mkdir -p $out - cp -r build/_CPack_Packages/Linux/TGZ/HDFJava-3.3.2-Linux/HDF_Group/HDFJava/${version}/* $out/ - ''; - - meta = { - description = "A Java package that implements HDF4 and HDF5 data objects in an object-oriented form"; - license = lib.licenses.free; # BSD-like - homepage = "https://support.hdfgroup.org/products/java/index.html"; - platforms = lib.platforms.linux; - }; -} diff --git a/pkgs/tools/misc/hdfview/default.nix b/pkgs/tools/misc/hdfview/default.nix index dc13bb52791..8537e5748c3 100644 --- a/pkgs/tools/misc/hdfview/default.nix +++ b/pkgs/tools/misc/hdfview/default.nix @@ -1,39 +1,58 @@ -{ lib, stdenv, fetchurl, ant, javac, hdf_java }: +{ lib, stdenv, fetchurl, ant, jdk, nettools, hdf4, hdf5, makeDesktopItem, copyDesktopItems }: stdenv.mkDerivation rec { pname = "hdfview"; - version = "2.14"; + version = "3.1.2"; src = fetchurl { - url = "https://support.hdfgroup.org/ftp/HDF5/hdf-java/current/src/${pname}-${version}.tar.gz"; - sha256 = "0lv9djfm7hnp14mcyzbiax3xjb8vkbzhh7bdl6cvgy53pc08784p"; + url = "https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/${pname}-${version}/src/${pname}-${version}.tar.gz"; + sha256 = "0kyw9i3f817z71l0ak7shl0wqxasz9h5fl05mklyapa7cj27637c"; }; - nativeBuildInputs = [ ant javac ]; + nativeBuildInputs = [ + ant jdk + nettools # "hostname" required + copyDesktopItems + ]; - HDFLIBS = hdf_java; + HDFLIBS = (hdf4.override { javaSupport = true; }).out; + HDF5LIBS = (hdf5.override { javaSupport = true; }).out; buildPhase = '' - ant run - ant package + runHook preBuild + + ant createJPackage + + runHook postBuild ''; + desktopItem = makeDesktopItem rec { + name = "HDFView"; + desktopName = name; + exec = name; + icon = name; + comment = meta.description; + categories = "Science;DataVisualization;"; + }; + installPhase = '' - mkdir $out - # exclude jre - cp -r build/HDF_Group/HDFView/*/{lib,share} $out/ - mkdir $out/bin - cp -r build/HDF_Group/HDFView/*/hdfview.sh $out/bin/hdfview - chmod +x $out/bin/hdfview - substituteInPlace $out/bin/hdfview \ - --replace "@JAVABIN@" "${javac}/bin/" \ - --replace "@INSTALLDIR@" "$out" + runHook preInstall + + mkdir -p $out/bin $out/lib + cp -a build/dist/HDFView/bin/HDFView $out/bin/ + cp -a build/dist/HDFView/lib/app $out/lib/ + ln -s ${jdk}/lib/openjdk $out/lib/runtime + + mkdir -p $out/share/applications $out/share/icons/hicolor/32x32/apps + cp src/HDFView.png $out/share/icons/hicolor/32x32/apps/ + + runHook postInstall ''; meta = { description = "A visual tool for browsing and editing HDF4 and HDF5 files"; license = lib.licenses.free; # BSD-like - homepage = "https://support.hdfgroup.org/products/java/index.html"; + homepage = "https://portal.hdfgroup.org/display/HDFVIEW/HDFView"; platforms = lib.platforms.linux; }; } diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix index 7c7a611b97c..e954bfbe5e4 100644 --- a/pkgs/tools/misc/parted/default.nix +++ b/pkgs/tools/misc/parted/default.nix @@ -15,11 +15,11 @@ }: stdenv.mkDerivation rec { - name = "parted-3.3"; + name = "parted-3.4"; src = fetchurl { url = "mirror://gnu/parted/${name}.tar.xz"; - sha256 = "0i1xp367wpqw75b20c3jnism3dg3yqj4a7a22p2jb1h1hyyv9qjp"; + sha256 = "sha256-4SmAIkctpVibfyvh1e48G2bsPZbfutA9xkKv0AnaU0I="; }; outputs = [ "out" "dev" "man" "info" ]; diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix index d92408b3669..d8f4285e0b8 100644 --- a/pkgs/tools/networking/dnsmasq/default.nix +++ b/pkgs/tools/networking/dnsmasq/default.nix @@ -13,11 +13,11 @@ let in stdenv.mkDerivation rec { pname = "dnsmasq"; - version = "2.83"; + version = "2.84"; src = fetchurl { url = "http://www.thekelleys.org.uk/dnsmasq/${pname}-${version}.tar.xz"; - sha256 = "1sjamz1v588qf35m8z6wcqkjk5w12bqhj7d7p48dj8jyn3lgghgz"; + sha256 = "sha256-YDGVxktzE3YJsH4QJK4LN/ZSsvX+Rn3OZphbPRhQBQw="; }; postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' diff --git a/pkgs/tools/security/rage/default.nix b/pkgs/tools/security/rage/default.nix index 3724637c604..d248fb19a27 100644 --- a/pkgs/tools/security/rage/default.nix +++ b/pkgs/tools/security/rage/default.nix @@ -3,16 +3,16 @@ rustPlatform.buildRustPackage rec { pname = "rage"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "str4d"; repo = pname; rev = "v${version}"; - sha256 = "sha256-XSDfAsXfwSoe5JMdJtZlC324Sra+4fVJhE3/k2TthEc="; + sha256 = "sha256-oYCARqG5YwKO0b73aEMLr/xzXl6xBEMCvE1HMCtMq20="; }; - cargoSha256 = "sha256-GPr5zxeODAjD+ynp/nned9gZUiReYcdzosuEbLIKZSs="; + cargoSha256 = "sha256-vadXIdqfmol4thHIwpkQCn7HsXdxo0l+6CBm3QIJmeA="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix index 20a96311176..8c017c42d7a 100644 --- a/pkgs/tools/system/pciutils/default.nix +++ b/pkgs/tools/system/pciutils/default.nix @@ -1,4 +1,5 @@ { lib, stdenv, fetchurl, pkg-config, zlib, kmod, which +, hwdata , static ? stdenv.hostPlatform.isStatic , IOKit }: @@ -30,8 +31,15 @@ stdenv.mkDerivation rec { installTargets = [ "install" "install-lib" ]; - # Get rid of update-pciids as it won't work. - postInstall = "rm $out/sbin/update-pciids $out/man/man8/update-pciids.8"; + postInstall = '' + # Remove update-pciids as it won't work on nixos + rm $out/sbin/update-pciids $out/man/man8/update-pciids.8 + + # use database from hwdata instead + # (we don't create a symbolic link because we do not want to pull in the + # full closure of hwdata) + cp --reflink=auto ${hwdata}/share/hwdata/pci.ids $out/share/pci.ids + ''; meta = with lib; { homepage = "http://mj.ucw.cz/pciutils.html"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c8322e5dbdf..c96dd1f9565 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5115,13 +5115,7 @@ in hdf5-blosc = callPackage ../development/libraries/hdf5-blosc { }; - hdfview = callPackage ../tools/misc/hdfview { - javac = jdk8; # TODO: https://github.com/NixOS/nixpkgs/pull/89731 - }; - - hdf_java = callPackage ../tools/misc/hdfjava { - javac = jdk8; # TODO: https://github.com/NixOS/nixpkgs/pull/89731 - }; + hdfview = callPackage ../tools/misc/hdfview { }; hecate = callPackage ../applications/editors/hecate { }; @@ -9897,6 +9891,9 @@ in libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null; threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null; + # gcc 10 is too strict to cross compile gcc <= 8 + stdenv = if (stdenv.targetPlatform != stdenv.buildPlatform) && stdenv.cc.isGNU then gcc7Stdenv else stdenv; + isl = if stdenv.isDarwin then null else if stdenv.targetPlatform.isRedox @@ -9913,6 +9910,9 @@ in libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null; threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null; + # gcc 10 is too strict to cross compile gcc <= 8 + stdenv = if (stdenv.targetPlatform != stdenv.buildPlatform) && stdenv.cc.isGNU then gcc7Stdenv else stdenv; + isl = if !stdenv.isDarwin then isl_0_17 else null; })); @@ -9925,6 +9925,9 @@ in libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null; threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null; + # gcc 10 is too strict to cross compile gcc <= 8 + stdenv = if (stdenv.targetPlatform != stdenv.buildPlatform) && stdenv.cc.isGNU then gcc7Stdenv else stdenv; + isl = if !stdenv.isDarwin then isl_0_17 else null; })); @@ -14389,8 +14392,13 @@ in } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) { stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4' })); + icu68 = callPackage ../development/libraries/icu/68.nix ({ + nativeBuildRoot = buildPackages.icu68.override { buildRootOnly = true; }; + } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) { + stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4' + })); - icu = icu67; + icu = icu68; id3lib = callPackage ../development/libraries/id3lib { }; @@ -16540,6 +16548,8 @@ in readosm = callPackage ../development/libraries/readosm { }; + rinutils = callPackage ../development/libraries/rinutils { }; + kissfft = callPackage ../development/libraries/kissfft { }; lambdabot = callPackage ../development/tools/haskell/lambdabot { @@ -26566,6 +26576,10 @@ in lua = lua5; }; + black-hole-solver = callPackage ../games/black-hole-solver { + inherit (perlPackages) PathTiny; + }; + blackshades = callPackage ../games/blackshades { }; blobby = callPackage ../games/blobby { }; |