Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 90 lines 2.3 kB view raw
1{ 2 mkDerivation, 3 lib, 4 kdepimTeam, 5 extra-cmake-modules, 6 shared-mime-info, 7 accounts-qt, 8 boost, 9 kaccounts-integration, 10 kcompletion, 11 kconfigwidgets, 12 kcrash, 13 kdbusaddons, 14 kdesignerplugin, 15 ki18n, 16 kiconthemes, 17 kio, 18 kitemmodels, 19 kwindowsystem, 20 mariadb, 21 postgresql, 22 qttools, 23 signond, 24 xz, 25 26 mysqlSupport ? true, 27 postgresSupport ? false, 28 defaultDriver ? if mysqlSupport then "MYSQL" else "POSTGRES", 29}: 30 31assert mysqlSupport || postgresSupport; 32 33mkDerivation { 34 pname = "akonadi"; 35 meta = { 36 license = [ lib.licenses.lgpl21 ]; 37 maintainers = kdepimTeam; 38 }; 39 patches = [ 40 ./0001-akonadi-paths.patch 41 ./0002-akonadi-timestamps.patch 42 ./0003-akonadi-revert-make-relocatable.patch 43 ]; 44 nativeBuildInputs = [ 45 extra-cmake-modules 46 shared-mime-info 47 ]; 48 buildInputs = [ 49 kaccounts-integration 50 kcompletion 51 kconfigwidgets 52 kcrash 53 kdbusaddons 54 kdesignerplugin 55 ki18n 56 kiconthemes 57 kio 58 kwindowsystem 59 xz 60 accounts-qt 61 qttools 62 signond 63 ]; 64 propagatedBuildInputs = [ 65 boost 66 kitemmodels 67 ]; 68 outputs = [ 69 "out" 70 "dev" 71 ]; 72 CXXFLAGS = [ 73 ''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.optionalString mysqlSupport "${lib.getBin mariadb}/bin/mysqld"}\"'' 74 ''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.optionalString mysqlSupport "${lib.getBin mariadb}/bin/mysqladmin"}\"'' 75 ''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.optionalString mysqlSupport "${lib.getBin mariadb}/bin/mysql_install_db"}\"'' 76 ''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.optionalString mysqlSupport "${lib.getBin mariadb}/bin/mysqlcheck"}\"'' 77 ''-DNIXPKGS_POSTGRES_PG_CTL=\"${lib.optionalString postgresSupport "${lib.getBin postgresql}/bin/pg_ctl"}\"'' 78 ''-DNIXPKGS_POSTGRES_PG_UPGRADE=\"${lib.optionalString postgresSupport "${lib.getBin postgresql}/bin/pg_upgrade"}\"'' 79 ''-DNIXPKGS_POSTGRES_INITDB=\"${lib.optionalString postgresSupport "${lib.getBin postgresql}/bin/initdb"}\"'' 80 ''-DNIX_OUT=\"${placeholder "out"}\"'' 81 ''-I${lib.getDev kio}/include/KF5'' # Fixes: kio_version.h: No such file or directory 82 ]; 83 84 cmakeFlags = lib.optional (defaultDriver != "MYSQL") "-DDATABASE_BACKEND=${defaultDriver}"; 85 86 postInstall = '' 87 # added as an include directory by cmake files and fails to compile if it's missing 88 mkdir -p "$dev/include/KF5" 89 ''; 90}