Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scribus: Rename scribus{,Unstable} -> scribus{_1_4,} #172700

Merged
merged 1 commit into from
May 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2506,6 +2506,14 @@ cp /var/lib/redis/dump.rdb "/var/lib/redis-mastodon/dump.rdb"
like <literal>firefox</literal>.
</para>
</listitem>
<listitem>
<para>
The default <literal>scribus</literal> version is now 1.5,
while version 1.4 is still available as
<literal>scribus_1_4</literal>
(<link xlink:href="https://github.com/NixOS/nixpkgs/pull/172700">#172700</link>).
</para>
</listitem>
<listitem>
<para>
The Nextcloud module now supports to create a Mysql database
Expand Down
2 changes: 2 additions & 0 deletions nixos/doc/manual/release-notes/rl-2205.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -889,6 +889,8 @@ In addition to numerous new and upgraded packages, this release has the followin

- The `nss` package was split into `nss_esr` and `nss_latest`, with `nss` being an alias for `nss_esr`. This was done to ease maintenance of `nss` and dependent high-profile packages like `firefox`.

- The default `scribus` version is now 1.5, while version 1.4 is still available as `scribus_1_4` ([#172700](https://github.com/NixOS/nixpkgs/pull/172700)).

- The Nextcloud module now supports to create a Mysql database automatically
with `services.nextcloud.database.createLocally` enabled.

Expand Down
52 changes: 52 additions & 0 deletions pkgs/applications/office/scribus/1_4.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{ lib, stdenv, fetchurl, pkg-config, freetype, lcms, libtiff, libxml2
, libart_lgpl, qt4, python2, cups, fontconfig, libjpeg
, zlib, libpng, xorg, cairo, podofo, hunspell, boost, cmake, imagemagick, ghostscript }:

let
icon = fetchurl {
url = "https://gist.githubusercontent.com/ejpcmac/a74b762026c9bc4000be624c3d085517/raw/18edc497c5cb6fdeef1c8aede37a0ee68413f9d3/scribus-icon-centered.svg";
sha256 = "0hq3i7c2l50445an9glhhg47kj26y16svfajc6naqn307ph9vzc3";
};

pythonEnv = python2.withPackages(ps: [ps.tkinter ps.pillow]);
in stdenv.mkDerivation rec {
pname = "scribus";
version = "1.4.8";

src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}/${pname}-${version}.tar.xz";
sha256 = "0bq433myw6h1siqlsakxv6ghb002rp3mfz5k12bg68s0k6skn992";
};

nativeBuildInputs = [ pkg-config cmake ];
buildInputs = with xorg;
[ freetype lcms libtiff libxml2 libart_lgpl qt4
pythonEnv cups fontconfig
libjpeg zlib libpng podofo hunspell cairo
boost # for internal 2geom library
libXaw libXext libX11 libXtst libXi libXinerama
libpthreadstubs libXau libXdmcp
imagemagick # To build the icon
];

postPatch = ''
substituteInPlace scribus/util_ghostscript.cpp \
--replace 'QString gsName("gs");' \
'QString gsName("${ghostscript}/bin/gs");'
'';

postInstall = ''
for i in 16 24 48 64 96 128 256 512; do
mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps
convert -background none -resize ''${i}x''${i} ${icon} $out/share/icons/hicolor/''${i}x''${i}/apps/scribus.png
done
'';

meta = {
maintainers = [ lib.maintainers.marcweber ];
platforms = lib.platforms.linux;
description = "Desktop Publishing (DTP) and Layout program for Linux";
homepage = "https://www.scribus.net";
license = lib.licenses.gpl2;
};
}
171 changes: 131 additions & 40 deletions pkgs/applications/office/scribus/default.nix
Original file line number Diff line number Diff line change
@@ -1,52 +1,143 @@
{ lib, stdenv, fetchurl, pkg-config, freetype, lcms, libtiff, libxml2
, libart_lgpl, qt4, python2, cups, fontconfig, libjpeg
, zlib, libpng, xorg, cairo, podofo, hunspell, boost, cmake, imagemagick, ghostscript }:
{ boost
, cairo
, cmake
, cups
, fetchurl
, fetchpatch
, fontconfig
, freetype
, harfbuzzFull
, hunspell
, lcms2
, libjpeg
, libtiff
, libxml2
, mkDerivation
, pixman
, pkg-config
, podofo
, poppler
, poppler_data
, python3
, qtbase
, qtimageformats
, qttools
, lib
}:

let
icon = fetchurl {
url = "https://gist.githubusercontent.com/ejpcmac/a74b762026c9bc4000be624c3d085517/raw/18edc497c5cb6fdeef1c8aede37a0ee68413f9d3/scribus-icon-centered.svg";
sha256 = "0hq3i7c2l50445an9glhhg47kj26y16svfajc6naqn307ph9vzc3";
};

pythonEnv = python2.withPackages(ps: [ps.tkinter ps.pillow]);
in stdenv.mkDerivation rec {
pythonEnv = python3.withPackages (
ps: [
ps.pillow
ps.tkinter
]
);
in
mkDerivation rec {
pname = "scribus";
version = "1.4.8";

version = "1.5.7";

src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}/${pname}-${version}.tar.xz";
sha256 = "0bq433myw6h1siqlsakxv6ghb002rp3mfz5k12bg68s0k6skn992";
url = "mirror://sourceforge/${pname}/${pname}-devel/${pname}-${version}.tar.xz";
sha256 = "sha256-MYMWss/Hp2GR0+DT+MImUUfa6gVwFiAo4kPCktgm+M4=";
};

nativeBuildInputs = [ pkg-config cmake ];
buildInputs = with xorg;
[ freetype lcms libtiff libxml2 libart_lgpl qt4
pythonEnv cups fontconfig
libjpeg zlib libpng podofo hunspell cairo
boost # for internal 2geom library
libXaw libXext libX11 libXtst libXi libXinerama
libpthreadstubs libXau libXdmcp
imagemagick # To build the icon
];
patches = [
# For harfbuzz >= 2.9.0
(fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/1b546978bc4ea0b2a73fbe4d7cf947887e865162.patch";
sha256 = "sha256-noRCaN63ZYFfXmAluEYXdFPNOk3s5W3KBAsLU1Syxv4=";
})
# For harfbuzz >= 3.0
(fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/68ec41169eaceea4a6e1d6f359762a191c7e61d5.patch";
sha256 = "sha256-xhp65qVvaof0md1jb3XHZw7uFX1RtNxPfUOaVnvZV1Y=";
})
# For Poppler 22.02
(fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/85c0dff3422fa3c26fbc2e8d8561f597ec24bd92.patch";
sha256 = "YR0ii09EVU8Qazz6b8KAIWsUMTwPIwO8JuQPymAWKdw=";
})
(fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/f75c1613db67f4067643d0218a2db3235e42ec9f.patch";
sha256 = "vJU8HsKHE3oXlhcXQk9uCYINPYVPF5IGmrWYFQ6Py5c=";
})
# For Poppler 22.03
(fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/553d1fd5f76ffb3743583b88c78a7232b076a965.patch";
sha256 = "56JrEG3eCzyALTH04yjzurKRj2PocpjO6b4PusMRxjY=";
})
(fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/1f82e38be0782b065910f5fb4cece23f690349ae.patch";
sha256 = "qektUfel5KeA327D3THyqi8dznP1SQQFToUC5Kd0+W4=";
})
(fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/f19410ac3b27e33dd62105746784e61e85b90a1d.patch";
sha256 = "JHdgntYcioYatPeqpmym3c9dORahj0CinGOzbGtA4ds=";
})
(fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/e013e8126d2100e8e56dea5b836ad43275429389.patch";
sha256 = "+siPNtJq9Is9V2PgADeQJB+b4lkl5g8uk6zKBu10Jqw=";
})
(fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/48263954a7dee0be815b00f417ae365ab26cdd85.patch";
sha256 = "1WE9kALFw79bQH88NUafXaZ1Y/vJEKTIWxlk5c+opsQ=";
})
# For Poppler 22.04
(fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/f2237b8f0b5cf7690e864a22ef7a63a6d769fa36.patch";
sha256 = "FXpLoX/a2Jy3GcfzrUUyVUfEAp5wAy2UfzfVA5lhwJw=";
})
];

nativeBuildInputs = [
cmake
pkg-config
];

postPatch = ''
substituteInPlace scribus/util_ghostscript.cpp \
--replace 'QString gsName("gs");' \
'QString gsName("${ghostscript}/bin/gs");'
'';

postInstall = ''
for i in 16 24 48 64 96 128 256 512; do
mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps
convert -background none -resize ''${i}x''${i} ${icon} $out/share/icons/hicolor/''${i}x''${i}/apps/scribus.png
done
'';

meta = {
maintainers = [ lib.maintainers.marcweber ];
platforms = lib.platforms.linux;
buildInputs = [
boost
cairo
cups
fontconfig
freetype
harfbuzzFull
hunspell
lcms2
libjpeg
libtiff
libxml2
pixman
podofo
poppler
poppler_data
pythonEnv
qtbase
qtimageformats
qttools
];

cmakeFlags = [
# poppler uses std::optional
"-DWANT_CPP17=ON"
];

meta = with lib; {
maintainers = with maintainers; [
erictapen
kiwi
];
platforms = platforms.linux;
description = "Desktop Publishing (DTP) and Layout program for Linux";
homepage = "https://www.scribus.net";
license = lib.licenses.gpl2;
# There are a lot of licenses...
# https://github.com/scribusproject/scribus/blob/20508d69ca4fc7030477db8dee79fd1e012b52d2/COPYING#L15-L19
license = with licenses; [
bsd3
gpl2Plus
mit
publicDomain
];
};
}
Loading