1{
2 boost,
3 cairo,
4 cmake,
5 cups,
6 fetchurl,
7 fetchpatch,
8 fontconfig,
9 freetype,
10 graphicsmagick,
11 harfbuzzFull,
12 hunspell,
13 lcms2,
14 libcdr,
15 libfreehand,
16 libjpeg,
17 libjxl,
18 libmspub,
19 libpagemaker,
20 libqxp,
21 librevenge,
22 libsysprof-capture,
23 libtiff,
24 libvisio,
25 libwpg,
26 libxml2,
27 libzmf,
28 pixman,
29 pkg-config,
30 podofo_0_10,
31 poppler,
32 poppler_data,
33 python3,
34 lib,
35 stdenv,
36 qt6,
37}:
38
39let
40 pythonEnv = python3.withPackages (ps: [
41 ps.pillow
42 ps.tkinter
43 ]);
44in
45stdenv.mkDerivation (finalAttrs: {
46 pname = "scribus";
47
48 version = "1.7.0";
49
50 src = fetchurl {
51 url = "mirror://sourceforge/scribus/scribus-devel/scribus-${finalAttrs.version}.tar.xz";
52 hash = "sha256-+lnWIh/3z/qTcjV5l+hlcBYuHhiRNza3F2/RD0jCQ/Y=";
53 };
54
55 nativeBuildInputs = [
56 cmake
57 pkg-config
58 qt6.wrapQtAppsHook
59 ];
60
61 buildInputs = [
62 boost
63 cairo
64 cups
65 fontconfig
66 freetype
67 graphicsmagick
68 harfbuzzFull
69 hunspell
70 lcms2
71 libcdr
72 libfreehand
73 libjpeg
74 libjxl
75 libpagemaker
76 libqxp
77 librevenge
78 libsysprof-capture
79 libtiff
80 libvisio
81 libwpg
82 libxml2
83 libzmf
84 pixman
85 podofo_0_10
86 poppler
87 poppler_data
88 pythonEnv
89 qt6.qt5compat
90 qt6.qtbase
91 qt6.qtdeclarative
92 qt6.qtimageformats
93 qt6.qtsvg
94 qt6.qttools
95 ]
96 ++ lib.optionals libmspub.meta.available [ libmspub ];
97
98 cmakeFlags = [ (lib.cmakeBool "WANT_GRAPHICSMAGICK" true) ];
99
100 patches = [
101 (fetchpatch {
102 url = "https://aur.archlinux.org/cgit/aur.git/plain/fix_build_with_qt_6.9.0.patch?h=scribus-unstable";
103 hash = "sha256-hzd9XpoVVqbwvZ40QPGBqqWkIFXug/tSojf/Ikc4nn4=";
104 })
105 (fetchpatch {
106 url = "https://aur.archlinux.org/cgit/aur.git/plain/fix_build_with_poppler_25.02.0.patch?h=scribus-unstable";
107 hash = "sha256-t9xJA6KGMGAdUFyjI8OlTNilewyMr1FFM7vjHOM15Xg=";
108 })
109 ];
110
111 meta = {
112 maintainers = with lib.maintainers; [ arthsmn ];
113 description = "Desktop Publishing (DTP) and Layout program";
114 mainProgram = "scribus";
115 homepage = "https://www.scribus.net";
116 # There are a lot of licenses...
117 # https://github.com/scribusproject/scribus/blob/20508d69ca4fc7030477db8dee79fd1e012b52d2/COPYING#L15-L19
118 license = with lib.licenses; [
119 bsd3
120 gpl2Plus
121 mit
122 publicDomain
123 ];
124 platforms = lib.platforms.all;
125 broken = stdenv.hostPlatform.isDarwin;
126 };
127})