uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
593
pkgs/applications/office/libreoffice/default.nix
Normal file
593
pkgs/applications/office/libreoffice/default.nix
Normal file
|
|
@ -0,0 +1,593 @@
|
|||
{ stdenv
|
||||
, fetchurl
|
||||
, lib
|
||||
, pam
|
||||
, python3
|
||||
, libxslt
|
||||
, perl
|
||||
, ArchiveZip
|
||||
, box2d
|
||||
, gettext
|
||||
, IOCompress
|
||||
, zlib
|
||||
, libjpeg
|
||||
, expat
|
||||
, freetype
|
||||
, libwpd
|
||||
, libxml2
|
||||
, db
|
||||
, curl
|
||||
, fontconfig
|
||||
, libsndfile
|
||||
, neon
|
||||
, bison
|
||||
, flex
|
||||
, zip
|
||||
, unzip
|
||||
, gtk3
|
||||
, libmspack
|
||||
, getopt
|
||||
, file
|
||||
, cairo
|
||||
, which
|
||||
, icu
|
||||
, boost
|
||||
, jdk
|
||||
, ant
|
||||
, cups
|
||||
, xorg
|
||||
, fontforge
|
||||
, jre_minimal
|
||||
, openssl
|
||||
, gperf
|
||||
, cppunit
|
||||
, poppler
|
||||
, util-linux
|
||||
, librsvg
|
||||
, libGLU
|
||||
, libGL
|
||||
, bsh
|
||||
, CoinMP
|
||||
, libwps
|
||||
, libabw
|
||||
, libmysqlclient
|
||||
, autoconf
|
||||
, automake
|
||||
, openldap
|
||||
, bash
|
||||
, hunspell
|
||||
, librdf_redland
|
||||
, nss
|
||||
, nspr
|
||||
, libwpg
|
||||
, dbus-glib
|
||||
, clucene_core
|
||||
, libcdr
|
||||
, lcms
|
||||
, unixODBC
|
||||
, mdds
|
||||
, sane-backends
|
||||
, mythes
|
||||
, libexttextcat
|
||||
, libvisio
|
||||
, fontsConf
|
||||
, pkg-config
|
||||
, bluez5
|
||||
, libtool
|
||||
, carlito
|
||||
, libatomic_ops
|
||||
, graphite2
|
||||
, harfbuzz
|
||||
, libodfgen
|
||||
, libzmf
|
||||
, librevenge
|
||||
, libe-book
|
||||
, libmwaw
|
||||
, glm
|
||||
, gst_all_1
|
||||
, gdb
|
||||
, commonsLogging
|
||||
, librdf_rasqal
|
||||
, wrapGAppsHook
|
||||
, gnome
|
||||
, glib
|
||||
, ncurses
|
||||
, libepoxy
|
||||
, gpgme
|
||||
, abseil-cpp
|
||||
, langs ? [ "ca" "cs" "da" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ro" "ru" "sl" "uk" "zh-CN" ]
|
||||
, withHelp ? true
|
||||
, kdeIntegration ? false
|
||||
, mkDerivation ? null
|
||||
, qtbase ? null
|
||||
, qtx11extras ? null
|
||||
, ki18n ? null
|
||||
, kconfig ? null
|
||||
, kcoreaddons ? null
|
||||
, kio ? null
|
||||
, kwindowsystem ? null
|
||||
, wrapQtAppsHook ? null
|
||||
, variant ? "fresh"
|
||||
, symlinkJoin
|
||||
} @ args:
|
||||
|
||||
assert builtins.elem variant [ "fresh" "still" ];
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
flatten flip
|
||||
concatMapStrings concatMapStringsSep concatStringsSep
|
||||
getDev getLib
|
||||
optional optionals optionalString;
|
||||
|
||||
jre' = jre_minimal.override {
|
||||
modules = [ "java.base" "java.desktop" "java.logging" ];
|
||||
};
|
||||
|
||||
importVariant = f: import (./. + "/src-${variant}/${f}");
|
||||
|
||||
primary-src = importVariant "primary.nix" { inherit fetchurl; };
|
||||
|
||||
inherit (primary-src) major minor subdir version;
|
||||
|
||||
langsSpaces = concatStringsSep " " langs;
|
||||
|
||||
mkDrv = if kdeIntegration then mkDerivation else stdenv.mkDerivation;
|
||||
|
||||
srcs = {
|
||||
third_party =
|
||||
map (x: ((fetchurl { inherit (x) url sha256 name; }) // { inherit (x) md5name md5; }))
|
||||
(importVariant "download.nix" ++ [
|
||||
(rec {
|
||||
name = "unowinreg.dll";
|
||||
url = "https://dev-www.libreoffice.org/extern/${md5name}";
|
||||
sha256 = "1infwvv1p6i21scywrldsxs22f62x85mns4iq8h6vr6vlx3fdzga";
|
||||
md5 = "185d60944ea767075d27247c3162b3bc";
|
||||
md5name = "${md5}-${name}";
|
||||
})
|
||||
]);
|
||||
|
||||
translations = primary-src.translations;
|
||||
help = primary-src.help;
|
||||
};
|
||||
|
||||
# See `postPatch` for details
|
||||
kdeDeps = symlinkJoin {
|
||||
name = "libreoffice-kde-dependencies-${version}";
|
||||
paths = flatten (map (e: [ (getDev e) (getLib e) ]) [
|
||||
qtbase
|
||||
qtx11extras
|
||||
kconfig
|
||||
kcoreaddons
|
||||
ki18n
|
||||
kio
|
||||
kwindowsystem
|
||||
]);
|
||||
};
|
||||
|
||||
in
|
||||
(mkDrv rec {
|
||||
pname = "libreoffice";
|
||||
inherit version;
|
||||
|
||||
inherit (primary-src) src;
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${librdf_rasqal}/include/rasqal" # librdf_redland refers to rasqal.h instead of rasqal/rasqal.h
|
||||
"-fno-visibility-inlines-hidden" # https://bugs.documentfoundation.org/show_bug.cgi?id=78174#c10
|
||||
];
|
||||
|
||||
tarballPath = "external/tarballs";
|
||||
|
||||
postUnpack = ''
|
||||
mkdir -v $sourceRoot/${tarballPath}
|
||||
'' + (flip concatMapStrings srcs.third_party (f: ''
|
||||
ln -sfv ${f} $sourceRoot/${tarballPath}/${f.md5name}
|
||||
ln -sfv ${f} $sourceRoot/${tarballPath}/${f.name}
|
||||
''))
|
||||
+ ''
|
||||
ln -sv ${srcs.help} $sourceRoot/${tarballPath}/${srcs.help.name}
|
||||
ln -svf ${srcs.translations} $sourceRoot/${tarballPath}/${srcs.translations.name}
|
||||
tar -xf ${srcs.help}
|
||||
tar -xf ${srcs.translations}
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./skip-failed-test-with-icu70.patch
|
||||
|
||||
# Fix build with poppler 22.03
|
||||
(fetchurl {
|
||||
url = "https://github.com/archlinux/svntogit-packages/raw/f82958b9538f86e41b51f1ba7134968d2f3788d1/trunk/poppler-22.03.0.patch";
|
||||
sha256 = "5h4qJmx6Q3Q3dHUlSi8JXBziN2mAswGVWk5aDTLTwls=";
|
||||
})
|
||||
|
||||
# Fix build with poppler 22.04
|
||||
./poppler-22-04-0.patch
|
||||
];
|
||||
|
||||
### QT/KDE
|
||||
#
|
||||
# configure.ac assumes that the first directory that contains headers and
|
||||
# libraries during its checks contains *all* the relevant headers/libs which
|
||||
# obviously doesn't work for us, so we have 2 options:
|
||||
#
|
||||
# 1. patch configure.ac in order to specify the direct paths to various Qt/KDE
|
||||
# dependencies which is ugly and brittle, or
|
||||
#
|
||||
# 2. use symlinkJoin to pull in the relevant dependencies and just patch in
|
||||
# that path which is *also* ugly, but far less likely to break
|
||||
#
|
||||
# The 2nd option is not very Nix'y, but I'll take robust over nice any day.
|
||||
# Additionally, it's much easier to fix if LO breaks on the next upgrade (just
|
||||
# add the missing dependencies to it).
|
||||
postPatch = ''
|
||||
substituteInPlace shell/source/unix/exec/shellexec.cxx \
|
||||
--replace /usr/bin/xdg-open ${if kdeIntegration then "kde-open5" else "xdg-open"}
|
||||
|
||||
# configure checks for header 'gpgme++/gpgmepp_version.h',
|
||||
# and if it is found (no matter where) uses a hardcoded path
|
||||
# in what presumably is an effort to make it possible to write
|
||||
# '#include <context.h>' instead of '#include <gpgmepp/context.h>'.
|
||||
#
|
||||
# Fix this path to point to where the headers can actually be found instead.
|
||||
substituteInPlace configure.ac --replace \
|
||||
'GPGMEPP_CFLAGS=-I/usr/include/gpgme++' \
|
||||
'GPGMEPP_CFLAGS=-I${gpgme.dev}/include/gpgme++'
|
||||
'' + optionalString kdeIntegration ''
|
||||
substituteInPlace configure.ac \
|
||||
--replace '$QT5INC ' '$QT5INC ${kdeDeps}/include ' \
|
||||
--replace '$QT5LIB ' '$QT5LIB ${kdeDeps}/lib ' \
|
||||
--replace '$KF5INC ' '$KF5INC ${kdeDeps}/include ${kdeDeps}/include/KF5 '\
|
||||
--replace '$KF5LIB ' '$KF5LIB ${kdeDeps}/lib '
|
||||
'';
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
dontUseCmakeBuildDir = true;
|
||||
|
||||
preConfigure = ''
|
||||
configureFlagsArray=(
|
||||
"--with-parallelism=$NIX_BUILD_CORES"
|
||||
"--with-lang=${langsSpaces}"
|
||||
);
|
||||
|
||||
chmod a+x ./bin/unpack-sources
|
||||
patchShebangs .
|
||||
|
||||
# This is required as some cppunittests require fontconfig configured
|
||||
cp "${fontsConf}" fonts.conf
|
||||
sed -e '/include/i<include>${carlito}/etc/fonts/conf.d</include>' -i fonts.conf
|
||||
export FONTCONFIG_FILE="$PWD/fonts.conf"
|
||||
|
||||
NOCONFIGURE=1 ./autogen.sh
|
||||
'';
|
||||
|
||||
postConfigure =
|
||||
# fetch_Download_item tries to interpret the name as a variable name, let it do so...
|
||||
''
|
||||
sed -e '1ilibreoffice-translations-${version}.tar.xz=libreoffice-translations-${version}.tar.xz' -i Makefile
|
||||
sed -e '1ilibreoffice-help-${version}.tar.xz=libreoffice-help-${version}.tar.xz' -i Makefile
|
||||
''
|
||||
# Test fixups
|
||||
# May need to be revisited/pruned, left alone for now.
|
||||
+ ''
|
||||
# unit test sd_tiledrendering seems to be fragile
|
||||
# https://nabble.documentfoundation.org/libreoffice-5-0-failure-in-CUT-libreofficekit-tiledrendering-td4150319.html
|
||||
echo > ./sd/CppunitTest_sd_tiledrendering.mk
|
||||
sed -e /CppunitTest_sd_tiledrendering/d -i sd/Module_sd.mk
|
||||
# Pivot chart tests. Fragile.
|
||||
sed -e '/CPPUNIT_TEST(testRoundtrip)/d' -i chart2/qa/extras/PivotChartTest.cxx
|
||||
sed -e '/CPPUNIT_TEST(testPivotTableMedianODS)/d' -i sc/qa/unit/pivottable_filters_test.cxx
|
||||
# one more fragile test?
|
||||
sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
|
||||
# this I actually hate, this should be a data consistency test!
|
||||
sed -e '/CPPUNIT_TEST(testTdf115013);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
|
||||
# rendering-dependent test
|
||||
# tilde expansion in path processing checks the existence of $HOME
|
||||
sed -e 's@OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx
|
||||
# fails on systems using ZFS, see https://github.com/NixOS/nixpkgs/issues/19071
|
||||
sed -e '/CPPUNIT_TEST(getSystemPathFromFileURL_005);/d' -i './sal/qa/osl/file/osl_File.cxx'
|
||||
# rendering-dependent: on my computer the test table actually doesn't fit…
|
||||
# interesting fact: test disabled on macOS by upstream
|
||||
sed -re '/DECLARE_WW8EXPORT_TEST[(]testTableKeep, "tdf91083.odt"[)]/,+5d' -i ./sw/qa/extras/ww8export/ww8export.cxx
|
||||
# Segfault on DB access — maybe temporarily acceptable for a new version of Fresh?
|
||||
sed -e 's/CppunitTest_dbaccess_empty_stdlib_save//' -i ./dbaccess/Module_dbaccess.mk
|
||||
# one more fragile test?
|
||||
sed -e '/CPPUNIT_TEST(testTdf77014);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
|
||||
# rendering-dependent tests
|
||||
sed -e '/CPPUNIT_TEST(testLegacyCellAnchoredRotatedShape)/d' -i sc/qa/unit/filters-test.cxx
|
||||
sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx
|
||||
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
|
||||
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]tdf105490_negativeMargins,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
|
||||
sed -z -r -e 's/DECLARE_OOXMLIMPORT_TEST[(]testTdf112443,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlimport/ooxmlimport.cxx
|
||||
sed -z -r -e 's/DECLARE_RTFIMPORT_TEST[(]testTdf108947,[^)]*[)].[{]/& return;/' -i sw/qa/extras/rtfimport/rtfimport.cxx
|
||||
# not sure about this fragile test
|
||||
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
|
||||
# bunch of new Fresh failures. Sigh.
|
||||
sed -e '/CPPUNIT_TEST(testDocumentLayout);/d' -i './sd/qa/unit/import-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testErrorBarDataRangeODS);/d' -i './chart2/qa/extras/chart2export.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testLabelStringODS);/d' -i './chart2/qa/extras/chart2export.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testAxisNumberFormatODS);/d' -i './chart2/qa/extras/chart2export.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testBackgroundImage);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testFdo84043);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf97630);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf80020);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf62176);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testEmbeddedPdf);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testEmbeddedText);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf98477);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf50499);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf100926);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testPageWithTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTextRotation);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf113818);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf119629);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf113822);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf105739);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testPageBitmapWithTransparency);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf115005);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_On);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_Off);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf44774);/d' -i './sd/qa/unit/misc-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf38225);/d' -i './sd/qa/unit/misc-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testFdo85554);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testEmbeddedDataSource);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf96479);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testInconsistentBookmark);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
|
||||
sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlexport9.cxx"
|
||||
sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlencryption.cxx"
|
||||
sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/odfexport/odfexport.cxx"
|
||||
sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/unowriter/unowriter.cxx"
|
||||
''
|
||||
# This to avoid using /lib:/usr/lib at linking
|
||||
+ ''
|
||||
sed -i '/gb_LinkTarget_LDFLAGS/{ n; /rpath-link/d;}' solenv/gbuild/platform/unxgcc.mk
|
||||
|
||||
find -name "*.cmd" -exec sed -i s,/lib:/usr/lib,, {} \;
|
||||
'';
|
||||
|
||||
makeFlags = [ "SHELL=${bash}/bin/bash" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildTargets = [ "build-nocheck" ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
# It installs only things to $out/lib/libreoffice
|
||||
postInstall = ''
|
||||
mkdir -p $out/bin $out/share/desktop
|
||||
|
||||
mkdir -p "$out/share/gsettings-schemas/collected-for-libreoffice/glib-2.0/schemas/"
|
||||
|
||||
for a in sbase scalc sdraw smath swriter simpress soffice unopkg; do
|
||||
ln -s $out/lib/libreoffice/program/$a $out/bin/$a
|
||||
done
|
||||
|
||||
ln -s $out/bin/soffice $out/bin/libreoffice
|
||||
ln -s $out/lib/libreoffice/share/xdg $out/share/applications
|
||||
|
||||
for f in $out/share/applications/*.desktop; do
|
||||
substituteInPlace "$f" \
|
||||
--replace "Exec=libreofficedev${major}.${minor}" "Exec=libreoffice" \
|
||||
--replace "Exec=libreoffice${major}.${minor}" "Exec=libreoffice"
|
||||
done
|
||||
|
||||
cp -r sysui/desktop/icons "$out/share"
|
||||
sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
|
||||
|
||||
mkdir -p $dev
|
||||
cp -r include $dev
|
||||
'' + optionalString kdeIntegration ''
|
||||
for prog in $out/bin/*; do
|
||||
wrapQtApp $prog
|
||||
done
|
||||
'';
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
configureFlags = [
|
||||
(if withHelp then "" else "--without-help")
|
||||
"--with-boost=${getDev boost}"
|
||||
"--with-boost-libdir=${getLib boost}/lib"
|
||||
"--with-beanshell-jar=${bsh}"
|
||||
"--with-vendor=NixOS"
|
||||
"--disable-report-builder"
|
||||
"--disable-online-update"
|
||||
"--enable-python=system"
|
||||
"--enable-dbus"
|
||||
"--enable-release-build"
|
||||
"--enable-epm"
|
||||
"--with-ant-home=${getLib ant}/lib/ant"
|
||||
"--with-system-cairo"
|
||||
"--with-system-libs"
|
||||
"--with-system-headers"
|
||||
"--with-system-openssl"
|
||||
"--with-system-libabw"
|
||||
"--without-system-libcmis"
|
||||
"--with-system-libwps"
|
||||
"--with-system-openldap"
|
||||
"--with-system-coinmp"
|
||||
|
||||
# Without these, configure does not finish
|
||||
"--without-junit"
|
||||
|
||||
# Schema files for validation are not included in the source tarball
|
||||
"--without-export-validation"
|
||||
|
||||
# We do tarball prefetching ourselves
|
||||
"--disable-fetch-external"
|
||||
"--enable-build-opensymbol"
|
||||
|
||||
# I imagine this helps. Copied from go-oo.
|
||||
# Modified on every upgrade, though
|
||||
"--disable-odk"
|
||||
"--disable-postgresql-sdbc"
|
||||
"--disable-firebird-sdbc"
|
||||
"--without-fonts"
|
||||
"--without-myspell-dicts"
|
||||
"--without-doxygen"
|
||||
|
||||
# TODO: package these as system libraries
|
||||
"--with-system-beanshell"
|
||||
"--without-system-hsqldb"
|
||||
"--without-system-altlinuxhyph"
|
||||
"--without-system-lpsolve"
|
||||
"--without-system-libetonyek"
|
||||
"--without-system-libfreehand"
|
||||
"--without-system-liblangtag"
|
||||
"--without-system-libmspub"
|
||||
"--without-system-libnumbertext"
|
||||
"--without-system-libpagemaker"
|
||||
"--without-system-libstaroffice"
|
||||
"--without-system-libepubgen"
|
||||
"--without-system-libqxp"
|
||||
"--without-system-mdds" # we have mdds but our version is too new
|
||||
# https://github.com/NixOS/nixpkgs/commit/5c5362427a3fa9aefccfca9e531492a8735d4e6f
|
||||
"--without-system-orcus"
|
||||
"--without-system-xmlsec"
|
||||
] ++ optionals kdeIntegration [
|
||||
"--enable-kf5"
|
||||
"--enable-qt5"
|
||||
"--enable-gtk3-kde5"
|
||||
];
|
||||
|
||||
checkTarget = concatStringsSep " " [
|
||||
"unitcheck"
|
||||
"slowcheck"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
automake
|
||||
bison
|
||||
fontforge
|
||||
gdb
|
||||
jdk
|
||||
libtool
|
||||
pkg-config
|
||||
]
|
||||
++ [ (if kdeIntegration then wrapQtAppsHook else wrapGAppsHook) ];
|
||||
|
||||
buildInputs = with xorg; [
|
||||
ArchiveZip
|
||||
CoinMP
|
||||
IOCompress
|
||||
abseil-cpp
|
||||
ant
|
||||
bluez5
|
||||
boost
|
||||
box2d
|
||||
cairo
|
||||
clucene_core
|
||||
cppunit
|
||||
cups
|
||||
curl
|
||||
db
|
||||
dbus-glib
|
||||
expat
|
||||
file
|
||||
flex
|
||||
fontconfig
|
||||
freetype
|
||||
getopt
|
||||
gettext
|
||||
glib
|
||||
glm
|
||||
gnome.adwaita-icon-theme
|
||||
gperf
|
||||
gpgme
|
||||
graphite2
|
||||
gtk3
|
||||
harfbuzz
|
||||
hunspell
|
||||
icu
|
||||
jre'
|
||||
lcms
|
||||
libGL
|
||||
libGLU
|
||||
libX11
|
||||
libXaw
|
||||
libXdmcp
|
||||
libXext
|
||||
libXi
|
||||
libXinerama
|
||||
libXtst
|
||||
libabw
|
||||
libatomic_ops
|
||||
libcdr
|
||||
libe-book
|
||||
libepoxy
|
||||
libexttextcat
|
||||
libjpeg
|
||||
libmspack
|
||||
libmwaw
|
||||
libmysqlclient
|
||||
libodfgen
|
||||
libpthreadstubs
|
||||
librdf_rasqal
|
||||
librdf_redland
|
||||
librevenge
|
||||
librsvg
|
||||
libsndfile
|
||||
libvisio
|
||||
libwpd
|
||||
libwpg
|
||||
libwps
|
||||
libxml2
|
||||
libxshmfence
|
||||
libxslt
|
||||
libzmf
|
||||
mdds
|
||||
mythes
|
||||
ncurses
|
||||
neon
|
||||
nspr
|
||||
nss
|
||||
openldap
|
||||
openssl
|
||||
pam
|
||||
perl
|
||||
pkg-config
|
||||
poppler
|
||||
python3
|
||||
sane-backends
|
||||
unixODBC
|
||||
unzip
|
||||
util-linux
|
||||
which
|
||||
zip
|
||||
zlib
|
||||
]
|
||||
++ (with gst_all_1; [
|
||||
gst-libav
|
||||
gst-plugins-bad
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
gst-plugins-ugly
|
||||
gstreamer
|
||||
])
|
||||
++ optionals kdeIntegration [ qtbase qtx11extras kcoreaddons kio ];
|
||||
|
||||
passthru = {
|
||||
inherit srcs;
|
||||
jdk = jre';
|
||||
};
|
||||
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org";
|
||||
homepage = "https://libreoffice.org/";
|
||||
# at least one jar in dependencies
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.lgpl3;
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}).overrideAttrs ((importVariant "override.nix") (args // { inherit kdeIntegration; }))
|
||||
Loading…
Add table
Add a link
Reference in a new issue