Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: e9d4bab04458
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 7e0dd4c26159
Choose a head ref
  • 3 commits
  • 8 files changed
  • 3 contributors

Commits on Sep 4, 2018

  1. libreoffice-{fresh,still}: upgrade and clean

    * libreoffice-still: -> 6.0.6.2
      * (newer than our current 'fresh!')
    * libreoffice-fresh: -> 6.1.0.3
      * 6.1.1(.1) is currently pre-release, FWIW
    * Use normal gcc, not gcc5
      * dropping 'glibc' from buildInputs fixed this (?)
    * remove many fixes/touchups/workarounds/hacks
      * hopefully everything still works for everyone
    * disable online update since that seems unlikely to work anyway
    * fix autogen/configure invocations
    * disable libnumbertext in 6.1.x since not packaged
    * drop 'touch solenv/inc/target.mk' as unclear what it was for
      and doesn't seem to be currently needed
    * cleanup link gen a bit[1]
    * split checks to check phase
    
    [1]
    primary motivation was to stop creating links like:
    
    'libreoffice-6.0.5.2/src/-libxslt-1.1.32.tar.gz' -> '/nix/store/503v5hmhm430bld0h078gacmkniwdllr-libxslt-1.1.32.tar.gz'
    'libreoffice-6.0.5.2/src/libxslt-1.1.32.tar.gz' -> '/nix/store/503v5hmhm430bld0h078gacmkniwdllr-libxslt-1.1.32.tar.gz'
    
    This is mostly accomplished by simply using the 'md5name' field
    which the python script kindly generates for us
    (including the use of non-md5 if md5 is not set or empty).
    dtzWill committed Sep 4, 2018
    Copy the full SHA
    72cf7f5 View commit details

Commits on Sep 5, 2018

  1. Merge pull request #46049 from dtzWill/update/libreoffice-2018

    libreoffice-{fresh,still}: upgrade and clean
    7c6f434c authored Sep 5, 2018

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    856b891 View commit details
  2. prettyping: init 1.0.1 (#46008)

    qoelet authored and xeji committed Sep 5, 2018
    Copy the full SHA
    7e0dd4c View commit details
8 changes: 4 additions & 4 deletions pkgs/applications/office/libreoffice/default-primary-src.nix
Original file line number Diff line number Diff line change
@@ -2,16 +2,16 @@

rec {
major = "6";
minor = "0";
patch = "5";
tweak = "2";
minor = "1";
patch = "0";
tweak = "3";

subdir = "${major}.${minor}.${patch}";

version = "${subdir}${if tweak == "" then "" else "."}${tweak}";

src = fetchurl {
url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
sha256 = "16h60j7h9z48vfhhj22m64myksnrrgrnh0qc6i4bxgshmm8kkzdn";
sha256 = "54eccd268f75d62fa6ab78d25685719c109257e1c0f4d628eae92ec09632ebd8";
};
}
161 changes: 86 additions & 75 deletions pkgs/applications/office/libreoffice/default.nix
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
, openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux
, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw
, autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
, libwpg, dbus-glib, glibc, qt4, clucene_core, libcdr, lcms, vigra
, libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra
, unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
, fontsConf, pkgconfig, bluez5, libtool, carlito
, libatomic_ops, graphite2, harfbuzz, libodfgen, libzmf
@@ -34,22 +34,28 @@ let
};

srcs = {
third_party = [ (let md5 = "185d60944ea767075d27247c3162b3bc"; in fetchurl rec {
url = "https://dev-www.libreoffice.org/extern/${md5}-${name}";
sha256 = "1infwvv1p6i21scywrldsxs22f62x85mns4iq8h6vr6vlx3fdzga";
name = "unowinreg.dll";
}) ] ++ (map (x : ((fetchurl {inherit (x) url sha256 name;}) // {inherit (x) md5name md5;})) (import ./libreoffice-srcs.nix));
third_party =
map (x : ((fetchurl {inherit (x) url sha256 name;}) // {inherit (x) md5name md5;}))
((import ./libreoffice-srcs.nix) ++ [
(rec {
name = "unowinreg.dll";
url = "https://dev-www.libreoffice.org/extern/${md5name}";
sha256 = "1infwvv1p6i21scywrldsxs22f62x85mns4iq8h6vr6vlx3fdzga";
md5 = "185d60944ea767075d27247c3162b3bc";
md5name = "${md5}-${name}";
})
]);

translations = fetchSrc {
name = "translations";
sha256 = "1p8gb9jxv4n8ggksbfsqzdw5amxg575grxifsabhgjllpisjzrlr";
sha256 = "140i0q6nyi2l6nv2b3n7s7mggm2rb1ws3h9awa9y6m2iads54qm7";
};

# TODO: dictionaries

help = fetchSrc {
name = "help";
sha256 = "1dkzm766zi4msk6w35bvfk5b5bx1xyqg2wx58wklr5375kjv6ba9";
sha256 = "0ayssl5ivhyzxi3gz3h4yhp8hq7ihig6n6iijbks5f1sm7dwridv";
};

};
@@ -58,41 +64,39 @@ in stdenv.mkDerivation rec {

inherit (primary-src) src;

# Openoffice will open libcups dynamically, so we link it directly
# to make its dlopen work.
# It also seems not to mention libdl explicitly in some places.
NIX_LDFLAGS = "-lcups -ldl";

# For some reason librdf_redland sometimes refers to rasqal.h instead
# of rasqal/rasqal.h
# And LO refers to gpgme++ by no-path name
NIX_CFLAGS_COMPILE="-I${librdf_rasqal}/include/rasqal -I${gpgme.dev}/include/gpgme++";

# If we call 'configure', 'make' will then call configure again without parameters.
# It's their system.
configureScript = "./autogen.sh";
dontUseCmakeConfigure = true;
NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ];

patches = [ ./xdg-open-brief.patch ];

postUnpack = ''
mkdir -v $sourceRoot/src
'' + (stdenv.lib.concatMapStrings (f: "ln -sfv ${f} $sourceRoot/src/${f.md5 or f.outputHash}-${f.name}\nln -sfv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party)
'' + (lib.flip lib.concatMapStrings srcs.third_party (f: ''
ln -sfv ${f} $sourceRoot/src/${f.md5name}
ln -sfv ${f} $sourceRoot/src/${f.name}
''))
+ ''
ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name}
ln -svf ${srcs.translations} $sourceRoot/src/${srcs.translations.name}
'';

postPatch = ''
sed -e 's@/usr/bin/xdg-open@xdg-open@g' -i shell/source/unix/exec/shellexec.cxx
# 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++'
'';

QT4DIR = qt4;

# Fix boost 1.59 compat
# Try removing in the next version
CPPFLAGS = "-DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED";

preConfigure = ''
configureFlagsArray=(
"--with-parallelism=$NIX_BUILD_CORES"
@@ -101,69 +105,72 @@ in stdenv.mkDerivation rec {
chmod a+x ./bin/unpack-sources
patchShebangs .
# It is used only as an indicator of the proper current directory
touch solenv/inc/target.mk
# BLFS patch for Glibc 2.23 renaming isnan
sed -ire "s@isnan@std::&@g" xmloff/source/draw/ximp3dscene.cxx
# 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"
'';
# fetch_Download_item tries to interpret the name as a variable name
# Let it do so…
postConfigure = ''
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
# 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
# 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
sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
# 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
# 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(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_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
NOCONFIGURE=1 ./autogen.sh
'';

makeFlags = "SHELL=${bash}/bin/bash";

enableParallelBuilding = true;

buildPhase = ''
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
# 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
sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
# 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
# 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(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_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
''
# 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;

make
buildPhase = ''
make build-nocheck
'';

doCheck = true;

# It installs only things to $out/lib/libreoffice
postInstall = ''
mkdir -p $out/bin $out/share/desktop
@@ -195,11 +202,11 @@ in stdenv.mkDerivation rec {
"--with-vendor=NixOS"
"--with-commons-logging-jar=${commonsLogging}/share/java/commons-logging-1.2.jar"
"--disable-report-builder"
"--disable-online-update"
"--enable-python=system"
"--enable-dbus"
"--enable-release-build"
(lib.enableFeature kdeIntegration "kde4")
"--with-package-format=installed"
"--enable-epm"
"--with-jdk-home=${jdk.home}"
"--with-ant-home=${ant}/lib/ant"
@@ -213,9 +220,13 @@ in stdenv.mkDerivation rec {
"--with-system-openldap"
"--with-system-coinmp"

"--with-alloc=system"

# Without these, configure does not finish
"--without-junit"

"--disable-libnumbertext" # system-libnumbertext"

# I imagine this helps. Copied from go-oo.
# Modified on every upgrade, though
"--disable-odk"
@@ -260,7 +271,7 @@ in stdenv.mkDerivation rec {
gst_all_1.gst-plugins-base glib
neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
python3 sablotron sane-backends unzip vigra which zip zlib
mdds bluez5 glibc libcmis libwps libabw libzmf libtool
mdds bluez5 libcmis libwps libabw libzmf libtool
libxshmfence libatomic_ops graphite2 harfbuzz gpgme utillinux
librevenge libe-book libmwaw glm glew ncurses epoxy
libodfgen CoinMP librdf_rasqal defaultIconTheme gettext
Loading