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,
|
lib,
|
||||||
fetchpatch,
|
|
||||||
fetchurl,
|
fetchurl,
|
||||||
extra-cmake-modules,
|
|
||||||
kdoctools,
|
|
||||||
boost,
|
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,
|
eigen,
|
||||||
git,
|
imath,
|
||||||
gsl,
|
libetonyek,
|
||||||
ilmbase,
|
|
||||||
kproperty,
|
|
||||||
kreport,
|
|
||||||
lcms2,
|
|
||||||
marble,
|
|
||||||
pcre,
|
|
||||||
libgit2,
|
libgit2,
|
||||||
libodfgen,
|
libodfgen,
|
||||||
librevenge,
|
librevenge,
|
||||||
@ -60,110 +14,27 @@
|
|||||||
libwpg,
|
libwpg,
|
||||||
libwps,
|
libwps,
|
||||||
okular,
|
okular,
|
||||||
openexr,
|
perl,
|
||||||
openjpeg,
|
pkg-config,
|
||||||
phonon,
|
|
||||||
poppler,
|
poppler,
|
||||||
pstoedit,
|
qtkeychain,
|
||||||
qca-qt5,
|
qtsvg,
|
||||||
vc,
|
|
||||||
fontconfig,
|
|
||||||
# TODO: package Spnav, m2mml LibEtonyek, Libqgit2
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkKdeDerivation rec {
|
||||||
pname = "calligra";
|
pname = "calligra";
|
||||||
version = "3.2.1";
|
version = "4.0.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
|
url = "mirror://kde/stable/calligra/calligra-${version}.tar.xz";
|
||||||
sha256 = "0iqi6z6gkck2afgy200dacgcspq7i7887alcj0pklm08hbmsdy5i";
|
hash = "sha256-1AH15z9PG9wLNUjqGlCwrBd4we3jCmozWUTtf72I2V8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
extraBuildInputs = [
|
||||||
# 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 = [
|
|
||||||
boost
|
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
|
eigen
|
||||||
git
|
imath
|
||||||
gsl
|
libetonyek
|
||||||
ilmbase
|
|
||||||
kproperty
|
|
||||||
kreport
|
|
||||||
lcms2
|
|
||||||
marble
|
|
||||||
pcre
|
|
||||||
libgit2
|
libgit2
|
||||||
libodfgen
|
libodfgen
|
||||||
librevenge
|
librevenge
|
||||||
@ -172,42 +43,34 @@ mkDerivation rec {
|
|||||||
libwpg
|
libwpg
|
||||||
libwps
|
libwps
|
||||||
okular
|
okular
|
||||||
openexr
|
|
||||||
openjpeg
|
|
||||||
phonon
|
|
||||||
poppler
|
poppler
|
||||||
qca-qt5
|
qtkeychain
|
||||||
vc
|
qtsvg
|
||||||
fontconfig
|
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedUserEnvPkgs = [ kproperty ];
|
extraNativeBuildInputs = [
|
||||||
|
perl
|
||||||
env.NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
|
pkg-config
|
||||||
|
|
||||||
qtWrapperArgs = [
|
|
||||||
"--prefix PATH : ${lib.getBin pstoedit}/bin"
|
|
||||||
"--prefix XDG_DATA_DIRS : ${breeze-icons}/share"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
# Recommended by the upstream packaging instructions. RELEASE_BUILD disables
|
||||||
description = "Suite of productivity applications";
|
# unmaintained components, like Braindump, from being built, and KDE_NO_DEBUG_OUTPUT
|
||||||
longDescription = ''
|
# is supposed to improve performance in the finished package.
|
||||||
Calligra Suite is a set of applications written to help
|
extraCmakeFlags = [
|
||||||
you to accomplish your work. Calligra includes efficient
|
(lib.cmakeBool "RELEASE_BUILD" true)
|
||||||
and capable office components: Words for text processing,
|
(lib.cmakeFeature "CMAKE_CXX_FLAGS" "-DKDE_NO_DEBUG_OUTPUT")
|
||||||
Sheets for computations, Plan for planning, and Karbon for
|
];
|
||||||
vector graphics.
|
|
||||||
'';
|
meta = {
|
||||||
homepage = "https://www.calligra.org/";
|
maintainers = with lib.maintainers; [
|
||||||
maintainers = with maintainers; [
|
|
||||||
ebzzry
|
ebzzry
|
||||||
zraexy
|
zraexy
|
||||||
|
sigmasquadron
|
||||||
];
|
];
|
||||||
platforms = platforms.linux;
|
license = with lib.licenses; [
|
||||||
license = with licenses; [
|
|
||||||
gpl2
|
gpl2
|
||||||
lgpl2
|
lgpl2
|
||||||
];
|
];
|
||||||
|
mainProgram = "calligralauncher";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user