mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 06:53:01 +00:00
kdePackages.calligra: 3.2.1 -> 4.0.1
Massively simplifies the build. We remove most of the meta attributes, all of the downstream patches, and nuke most of the unecessary dependencies. The result is a pretty feature-complete build of Calligra 4.0 that's only missing legacy components that nobody should be using anyway. Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
This commit is contained in:
parent
5bcdd2ec44
commit
faa4fdb825
@ -1,57 +1,11 @@
|
||||
{
|
||||
mkDerivation,
|
||||
mkKdeDerivation,
|
||||
lib,
|
||||
fetchpatch,
|
||||
fetchurl,
|
||||
extra-cmake-modules,
|
||||
kdoctools,
|
||||
boost,
|
||||
qtwebkit,
|
||||
qtx11extras,
|
||||
shared-mime-info,
|
||||
breeze-icons,
|
||||
kactivities,
|
||||
karchive,
|
||||
kcodecs,
|
||||
kcompletion,
|
||||
kconfig,
|
||||
kconfigwidgets,
|
||||
kcoreaddons,
|
||||
kdbusaddons,
|
||||
kdiagram,
|
||||
kguiaddons,
|
||||
khtml,
|
||||
ki18n,
|
||||
kiconthemes,
|
||||
kitemviews,
|
||||
kjobwidgets,
|
||||
kcmutils,
|
||||
kdelibs4support,
|
||||
kio,
|
||||
kross,
|
||||
knotifications,
|
||||
knotifyconfig,
|
||||
kparts,
|
||||
ktextwidgets,
|
||||
kwallet,
|
||||
kwidgetsaddons,
|
||||
kwindowsystem,
|
||||
kxmlgui,
|
||||
sonnet,
|
||||
threadweaver,
|
||||
kcontacts,
|
||||
akonadi,
|
||||
akonadi-calendar,
|
||||
akonadi-contacts,
|
||||
eigen,
|
||||
git,
|
||||
gsl,
|
||||
ilmbase,
|
||||
kproperty,
|
||||
kreport,
|
||||
lcms2,
|
||||
marble,
|
||||
pcre,
|
||||
imath,
|
||||
libetonyek,
|
||||
libgit2,
|
||||
libodfgen,
|
||||
librevenge,
|
||||
@ -60,110 +14,27 @@
|
||||
libwpg,
|
||||
libwps,
|
||||
okular,
|
||||
openexr,
|
||||
openjpeg,
|
||||
phonon,
|
||||
perl,
|
||||
pkg-config,
|
||||
poppler,
|
||||
pstoedit,
|
||||
qca-qt5,
|
||||
vc,
|
||||
fontconfig,
|
||||
# TODO: package Spnav, m2mml LibEtonyek, Libqgit2
|
||||
qtkeychain,
|
||||
qtsvg,
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
mkKdeDerivation rec {
|
||||
pname = "calligra";
|
||||
version = "3.2.1";
|
||||
version = "4.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0iqi6z6gkck2afgy200dacgcspq7i7887alcj0pklm08hbmsdy5i";
|
||||
url = "mirror://kde/stable/calligra/calligra-${version}.tar.xz";
|
||||
hash = "sha256-1AH15z9PG9wLNUjqGlCwrBd4we3jCmozWUTtf72I2V8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix fontconfig underlinking: https://github.com/NixOS/nixpkgs/issues/137794
|
||||
# Can be dropped on next release.
|
||||
(fetchpatch {
|
||||
name = "fix-fontconfig-linking.patch";
|
||||
url = "https://github.com/KDE/calligra/commit/62f510702ef9c34ac50f8d8601a4290ab558464c.patch";
|
||||
sha256 = "11dzrp9q05dmvnwp4vk4ihcibqcf4xyr0ijscpi716cyy730flma";
|
||||
excludes = [ "CMakeLists.txt" ];
|
||||
})
|
||||
# Fixes for building calligra with gcc11/c++17
|
||||
(fetchpatch {
|
||||
name = "build_c++17_poppler.patch";
|
||||
url = "https://github.com/archlinux/svntogit-packages/raw/bbbe35f97eb1033798f1cf95d427890168598199/trunk/068cd9ae.patch";
|
||||
sha256 = "sha256-d9/ILwSeW+ov11DF191hzIaUafO/rjQrAeONwqDSKbA=";
|
||||
})
|
||||
# Fixes for building calligra with modern poppler[-qt5]
|
||||
(fetchpatch {
|
||||
name = "calligra-poppler-22.03.patch";
|
||||
url = "https://invent.kde.org/office/calligra/-/commit/236bacbe13739414e919de868283b0caf2df5d8a.patch";
|
||||
sha256 = "sha256-9DmKPCvEFy2Cs3g7350iOCF5Vrx1HL+/8jr+Tb44CyE=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "calligra-poppler-22.04.patch";
|
||||
url = "https://invent.kde.org/office/calligra/-/commit/6b75bec784c9835c78993349845d8c2ef22ec3de.patch";
|
||||
sha256 = "sha256-z9/4he4x0WN2K/ZGrDAAtHF/W5X1PAtpeO6s7fgL/fA=";
|
||||
})
|
||||
];
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace 'CMAKE_CXX_STANDARD 11' 'CMAKE_CXX_STANDARD 17'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
extra-cmake-modules
|
||||
kdoctools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
extraBuildInputs = [
|
||||
boost
|
||||
qtwebkit
|
||||
qtx11extras
|
||||
shared-mime-info
|
||||
kactivities
|
||||
karchive
|
||||
kcodecs
|
||||
kcompletion
|
||||
kconfig
|
||||
kconfigwidgets
|
||||
kcoreaddons
|
||||
kdbusaddons
|
||||
kdiagram
|
||||
kguiaddons
|
||||
khtml
|
||||
ki18n
|
||||
kiconthemes
|
||||
kitemviews
|
||||
kjobwidgets
|
||||
kcmutils
|
||||
kdelibs4support
|
||||
kio
|
||||
kross
|
||||
knotifications
|
||||
knotifyconfig
|
||||
kparts
|
||||
ktextwidgets
|
||||
kwallet
|
||||
kwidgetsaddons
|
||||
kwindowsystem
|
||||
kxmlgui
|
||||
sonnet
|
||||
threadweaver
|
||||
kcontacts
|
||||
akonadi
|
||||
akonadi-calendar
|
||||
akonadi-contacts
|
||||
eigen
|
||||
git
|
||||
gsl
|
||||
ilmbase
|
||||
kproperty
|
||||
kreport
|
||||
lcms2
|
||||
marble
|
||||
pcre
|
||||
imath
|
||||
libetonyek
|
||||
libgit2
|
||||
libodfgen
|
||||
librevenge
|
||||
@ -172,42 +43,34 @@ mkDerivation rec {
|
||||
libwpg
|
||||
libwps
|
||||
okular
|
||||
openexr
|
||||
openjpeg
|
||||
phonon
|
||||
poppler
|
||||
qca-qt5
|
||||
vc
|
||||
fontconfig
|
||||
qtkeychain
|
||||
qtsvg
|
||||
];
|
||||
|
||||
propagatedUserEnvPkgs = [ kproperty ];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
|
||||
|
||||
qtWrapperArgs = [
|
||||
"--prefix PATH : ${lib.getBin pstoedit}/bin"
|
||||
"--prefix XDG_DATA_DIRS : ${breeze-icons}/share"
|
||||
extraNativeBuildInputs = [
|
||||
perl
|
||||
pkg-config
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Suite of productivity applications";
|
||||
longDescription = ''
|
||||
Calligra Suite is a set of applications written to help
|
||||
you to accomplish your work. Calligra includes efficient
|
||||
and capable office components: Words for text processing,
|
||||
Sheets for computations, Plan for planning, and Karbon for
|
||||
vector graphics.
|
||||
'';
|
||||
homepage = "https://www.calligra.org/";
|
||||
maintainers = with maintainers; [
|
||||
# Recommended by the upstream packaging instructions. RELEASE_BUILD disables
|
||||
# unmaintained components, like Braindump, from being built, and KDE_NO_DEBUG_OUTPUT
|
||||
# is supposed to improve performance in the finished package.
|
||||
extraCmakeFlags = [
|
||||
(lib.cmakeBool "RELEASE_BUILD" true)
|
||||
(lib.cmakeFeature "CMAKE_CXX_FLAGS" "-DKDE_NO_DEBUG_OUTPUT")
|
||||
];
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [
|
||||
ebzzry
|
||||
zraexy
|
||||
sigmasquadron
|
||||
];
|
||||
platforms = platforms.linux;
|
||||
license = with licenses; [
|
||||
license = with lib.licenses; [
|
||||
gpl2
|
||||
lgpl2
|
||||
];
|
||||
mainProgram = "calligralauncher";
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user