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:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,25 @@
{ lib, mkDerivation, fetchFromGitHub, cmake, qtsvg, qtwebengine, qttranslations }:
mkDerivation rec {
pname = "PageEdit";
version = "1.7.0";
src = fetchFromGitHub {
owner = "Sigil-Ebook";
repo = pname;
rev = version;
hash = "sha256-/t08ZS2iYWIDkco0nhACBQs1X+X77SJ/g+ow7KemfRY=";
};
nativeBuildInputs = [ cmake qttranslations ];
propagatedBuildInputs = [ qtsvg qtwebengine ];
cmakeFlags = "-DINSTALL_BUNDLED_DICTS=0";
meta = with lib; {
description = "ePub XHTML Visual Editor";
homepage = "https://sigil-ebook.com/pageedit/";
license = licenses.gpl3Plus;
maintainers = [ maintainers.pasqui23 ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,31 @@
{ lib, stdenv, fetchurl, pkg-config, gtk3, fribidi
, libpng, popt, libgsf, enchant, wv, librsvg, bzip2, libjpeg, perl
, boost, libxslt, goffice, wrapGAppsHook, gnome
}:
stdenv.mkDerivation rec {
pname = "abiword";
version = "3.0.5";
src = fetchurl {
url = "https://www.abisource.com/downloads/abiword/${version}/source/${pname}-${version}.tar.gz";
hash = "sha256-ElckfplwUI1tFFbT4zDNGQnEtCsl4PChvDJSbW86IbQ=";
};
enableParallelBuilding = true;
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
buildInputs = [
gtk3 librsvg bzip2 fribidi libpng popt
libgsf enchant wv libjpeg perl boost libxslt goffice gnome.adwaita-icon-theme
];
meta = with lib; {
description = "Word processing program, similar to Microsoft Word";
homepage = "https://www.abisource.com/";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ pSub ylwghst sna ];
};
}

View file

@ -0,0 +1,68 @@
{ lib, stdenv
, fetchFromGitHub
, nix-update-script
, pantheon
, meson
, ninja
, python3
, pkg-config
, vala
, gettext
, glib
, gtk3
, libgee
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "agenda";
version = "1.1.2";
src = fetchFromGitHub {
owner = "dahenson";
repo = pname;
rev = version;
sha256 = "sha256-tzGcqCxIkoBNskpadEqv289Sj5bij9u+LdYySiGdop8=";
};
nativeBuildInputs = [
gettext
glib # for glib-compile-schemas
meson
ninja
pkg-config
python3
vala
wrapGAppsHook
];
buildInputs = [
glib
gtk3
libgee
pantheon.granite
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
doCheck = true;
passthru = {
updateScript = nix-update-script {
attrPath = pname;
};
};
meta = with lib; {
description = "A simple, fast, no-nonsense to-do (task) list designed for elementary OS";
homepage = "https://github.com/dahenson/agenda";
maintainers = with maintainers; [ xiorcale ] ++ teams.pantheon.members;
platforms = platforms.linux;
license = licenses.gpl3;
mainProgram = "com.github.dahenson.agenda";
};
}

View file

@ -0,0 +1,18 @@
Description: Add check for buffer overflow with malformed input files
Author: <eriks@debian.org>
Bug-Debian: http://bugs.debian.org/407015
Last-Update: 2009-06-03
--- antiword-0.37~/wordole.c 2005-08-26 21:49:57.000000000 +0200
+++ antiword-0.37/wordole.c 2009-06-03 22:31:15.948014682 +0200
@@ -259,6 +259,10 @@
}
tNameSize = (size_t)usGetWord(0x40, aucBytes);
tNameSize = (tNameSize + 1) / 2;
+ if ( tNameSize > sizeof(atPPSlist[iIndex].szName)) {
+ werr(0, "Name Size of PPS %d is too large", iIndex);
+ tNameSize = sizeof(atPPSlist[iIndex].szName);
+ }
vName2String(atPPSlist[iIndex].szName, aucBytes, tNameSize);
atPPSlist[iIndex].ucType = ucGetByte(0x42, aucBytes);
if (atPPSlist[iIndex].ucType == 5) {

View file

@ -0,0 +1,28 @@
{ lib, fetchurl, stdenv }:
stdenv.mkDerivation rec{
pname = "antiword";
version = "0.37";
src = fetchurl {
url = "http://www.winfield.demon.nl/linux/antiword-${version}.tar.gz";
sha256 = "1b7mi1l20jhj09kyh0bq14qzz8vdhhyf35gzwsq43mn6rc7h0b4f";
};
prePatch = ''
sed -i -e "s|/usr/local/bin|$out/bin|g" -e "s|/usr/share|$out/share|g" Makefile antiword.h
substituteInPlace Makefile --replace "gcc" "cc"
'';
patches = [ ./10_fix_buffer_overflow_wordole_c_CVE-2014-8123.patch ];
installTargets = [ "global_install" ];
meta = {
homepage = "http://www.winfield.demon.nl/";
description = "Convert MS Word documents to plain text or PostScript";
license = lib.licenses.gpl2;
platforms = with lib.platforms; linux ++ darwin;
};
}

View file

@ -0,0 +1,77 @@
{ stdenv,
lib,
fetchzip,
autoPatchelfHook,
makeWrapper,
copyDesktopItems,
makeDesktopItem,
gtk3,
openssl,
xdg-user-dirs
}:
stdenv.mkDerivation rec {
pname = "appflowy";
version = "0.0.3";
src = fetchzip {
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-linux-x86.tar.gz";
sha256 = "sha256-m9vfgytSKnWLf6hwKjIGcU/7OCmIBiF4hJ/yIRBdSpQ=";
};
nativeBuildInputs = [
autoPatchelfHook
makeWrapper
copyDesktopItems
];
buildInputs = [
gtk3
openssl
];
dontBuild = true;
dontConfigure = true;
installPhase = ''
runHook preInstall
mkdir -p $out/opt/
mkdir -p $out/bin/
# Copy archive contents to the outpout directory
cp -r ./* $out/opt/
runHook postInstall
'';
preFixup = let
binPath = lib.makeBinPath [
xdg-user-dirs
];
in ''
# Add missing libraries to appflowy using the ones it comes with
makeWrapper $out/opt/app_flowy $out/bin/appflowy \
--set LD_LIBRARY_PATH "$out/opt/lib/" \
--prefix PATH : "${binPath}"
'';
desktopItems = [
(makeDesktopItem {
name = pname;
desktopName = "AppFlowy";
comment = meta.description;
exec = "appflowy";
categories = [ "Office" ];
})
];
meta = with lib; {
description = "An open-source alternative to Notion";
homepage = "https://www.appflowy.io/";
license = licenses.agpl3Only;
changelog = "https://github.com/AppFlowy-IO/appflowy/releases/tag/${version}";
maintainers = with maintainers; [ darkonion0 ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -0,0 +1,49 @@
{ lib, stdenv, fetchzip, jre }:
stdenv.mkDerivation rec {
pname = "atlassian-cli";
version = "9.6.0";
src = fetchzip {
url = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip";
sha256 = "sha256-55ydhprVC9NdDMUrKbpSAEQBb9zRYgwOc7k8aP4R89A=";
};
tools = [
"agile"
"bamboo"
"bitbucket"
"confluence"
"csv"
"hipchat"
"jira"
"servicedesk"
"structure"
"tempo"
"trello"
"upm"
];
installPhase = ''
mkdir -p $out/{bin,share/doc/atlassian-cli}
cp -r lib $out/share/java
cp -r README.txt license $out/share/doc/atlassian-cli
for tool in $tools
do
substitute ${./wrapper.sh} $out/bin/$tool \
--subst-var out \
--subst-var-by jre ${jre} \
--subst-var-by tool $tool
chmod +x $out/bin/$tool
done
'';
meta = with lib; {
description = "An integrated family of CLIs for various Atlassian applications";
homepage = "https://bobswift.atlassian.net/wiki/spaces/ACLI/overview";
license = licenses.unfreeRedistributable;
sourceProvenance = with sourceTypes; [ binaryBytecode ];
maintainers = with maintainers; [ twey ];
inherit (jre.meta) platforms;
};
}

View file

@ -0,0 +1,20 @@
#!/bin/bash
tool=@tool@
user=ATLASSIAN_${tool^^}_USER
host=ATLASSIAN_${tool^^}_HOST
pass=ATLASSIAN_${tool^^}_PASS
[ -f ~/.atlassian-cli ] && source ~/.atlassian-cli
if [ x = ${!user-x} ] || [ x = ${!host-x} ] || [ x = ${!pass-x} ]
then
>&2 echo please define $user, $host, and $pass in '~/.atlassian-cli'
exit 1
fi
@jre@/bin/java \
-jar @out@/share/java/@tool@-cli-* \
--server "${!host}" \
--user "${!user}" \
--password "${!pass}" \
"$@"

View file

@ -0,0 +1,63 @@
{ lib
, python3Packages
, fetchFromGitHub
, wrapGAppsHook
, gobject-introspection
, gtksourceview3
, libappindicator-gtk3
, libnotify
}:
python3Packages.buildPythonApplication rec {
pname = "autokey";
version = "0.95.10";
src = fetchFromGitHub {
owner = "autokey";
repo = "autokey";
rev = "v${version}";
sha256 = "0f0cqfnb49wwdy7zl2f2ypcnd5pc8r8n7z7ssxkq20d4xfxlgamr";
};
# Tests appear to be broken with import errors within the project structure
doCheck = false;
nativeBuildInputs = [ wrapGAppsHook ];
buildInputs = [
gobject-introspection
gtksourceview3
libappindicator-gtk3
libnotify
];
propagatedBuildInputs = with python3Packages; [
dbus-python
pyinotify
xlib
pygobject3
];
dontWrapGapps = true;
pythonPath = with python3Packages; requiredPythonModules [ dbus-python xlib pygobject3 ];
postInstall = ''
rm $out/bin/autokey-qt
buildPythonPath "$out $pythonPath"
makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
# for autokey-shell ModuleNotFoundError: No module named 'autokey'
--prefix "PYTHONPATH" ":" "$out/lib/${python3Packages.python.libPrefix}/site-packages"
--prefix "PYTHONPATH" ":" "$program_PYTHONPATH"
)
'';
meta = {
homepage = "https://github.com/autokey/autokey";
description = "Desktop automation utility for Linux and X11";
license = with lib.licenses; [ gpl3 ];
maintainers = with lib.maintainers; [ pneumaticat ];
platforms = lib.platforms.linux;
};
}

View file

@ -0,0 +1,81 @@
{ lib
, fetchpatch
, fetchFromGitLab
, python3
, appstream-glib
, desktop-file-utils
, glib
, libxml2
, meson
, ninja
, pkg-config
, wrapGAppsHook4
, gobject-introspection
, libadwaita
, librsvg
}:
python3.pkgs.buildPythonApplication rec {
pname = "banking";
version = "0.4.0";
format = "other";
src = fetchFromGitLab {
owner = "tabos";
repo = "banking";
rev = version;
sha256 = "sha256-VGNCSirQslRfLIFeo375BNlHujoNXm+s55Ty+hB+ZRI=";
};
patches = [
# Fix build with meson 0.61
# https://gitlab.com/tabos/banking/-/merge_requests/90
(fetchpatch {
url = "https://gitlab.com/tabos/banking/-/commit/c3cc9afc380fe666ae6e331aa8a97659c60397a4.patch";
sha256 = "r9n9l47XU4Tg4U5sfiFdGkbG8QB7O4ol9CB1ya06yOc=";
})
# fix build with libadwaita 1.0.0
(fetchpatch {
url = "https://gitlab.com/tabos/banking/-/commit/27ac4a89ba6047005d43de71a469ef30d1fda8b5.patch";
hash = "sha256-dpDjdYf3gDsyFMTfGes+x27yUxKEnKjLulJxX2encG0=";
})
];
postPatch = ''
substituteInPlace meson_post_install.py \
--replace gtk-update-icon-cache gtk4-update-icon-cache
patchShebangs meson_post_conf.py meson_post_install.py
'';
nativeBuildInputs = [
appstream-glib # for appstream-util
desktop-file-utils # for desktop-file-validate
glib # for glib-compile-resources
libxml2 # for xmllint
meson
ninja
pkg-config
wrapGAppsHook4
];
buildInputs = [
gobject-introspection
libadwaita
librsvg
];
propagatedBuildInputs = with python3.pkgs; [
cryptography
fints
mt-940
pygobject3
];
meta = with lib; {
description = "Banking application for small screens";
homepage = "https://tabos.gitlab.io/projects/banking/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dotlambda ];
};
}

View file

@ -0,0 +1,70 @@
{ lib,
stdenv,
fetchFromGitHub,
installShellFiles,
pkg-config,
cmake,
qtbase,
qtmultimedia,
qttools,
wrapQtAppsHook,
bash,
zlib,
gcc,
gnumake,
coreutils,
# only required when using poppler
poppler,
# only required when using mupdf
mupdf,
freetype,
jbig2dec,
openjpeg,
gumbo,
# choose renderer: mupdf or poppler or both (not recommended)
renderer ? "mupdf",
# choose major Qt version: "5" or "6" (only 5 is tested)
qt_version ? "5"}:
let
renderers = {
mupdf.buildInputs = [ mupdf freetype jbig2dec openjpeg gumbo ];
poppler.buildInputs = [ poppler ];
};
use_poppler = if "${renderer}" == "poppler" || "${renderer}" == "both" then "ON" else "OFF";
use_mupdf = if "${renderer}" == "mupdf" || "${renderer}" == "both" then "ON" else "OFF";
in
stdenv.mkDerivation rec {
pname = "beamerpresenter";
version = "0.2.2";
src = fetchFromGitHub {
owner = "stiglers-eponym";
repo = "BeamerPresenter";
rev = "v${version}";
sha256 = "16v263nnnipih3lxg95rmwz0ihnvpl4n1wlj9r6zavnspzlp9dvb";
};
nativeBuildInputs = [ pkg-config installShellFiles wrapQtAppsHook ];
buildInputs = [ gcc cmake coreutils gnumake bash zlib qtbase qtmultimedia qttools ] ++ renderers.${renderer}.buildInputs;
cmakeFlags = [
"-DCMAKE_BUILD_TYPE='Release'"
"-DGIT_VERSION=OFF"
"-DUSE_POPPLER=${use_poppler}"
"-DUSE_MUPDF=${use_mupdf}"
"-DUSE_MUJS=OFF"
"-DUSE_GUMBO=ON"
"-DUSE_TRANSLATIONS=ON"
"-DQT_VERSION_MAJOR=${qt_version}"
];
meta = with lib; {
description = "Modular multi screen pdf presentation viewer";
homepage = "https://github.com/stiglers-eponym/BeamerPresenter";
license = with licenses; [ agpl3 gpl3Plus ];
platforms = platforms.all;
maintainers = with maintainers; [ pacien ];
};
}

View file

@ -0,0 +1,32 @@
{ lib, stdenv, fetchFromGitHub, python3Packages }:
stdenv.mkDerivation {
pname = "bean-add";
version = "unstable-2018-01-08";
src = fetchFromGitHub {
owner = "simon-v";
repo = "bean-add";
rev = "660c657f295b019d8dbc26375924eb17bf654341";
sha256 = "0vzff2hdng8ybwd5frflhxpak0yqg0985p1dy7vpvhr8kbqqzwdz";
};
propagatedBuildInputs = with python3Packages; [ python ];
installPhase = ''
mkdir -p $out/bin/
cp bean-add $out/bin/bean-add
chmod +x $out/bin/bean-add
'';
meta = {
homepage = "https://github.com/simon-v/bean-add/";
description = "beancount transaction entry assistant";
# The (only) source file states:
# License: "Do what you feel is right, but don't be a jerk" public license.
maintainers = with lib.maintainers; [ matthiasbeyer ];
};
}

View file

@ -0,0 +1,92 @@
{ lib
, stdenv
, fetchFromGitHub
, appstream
, coreutils
, curl
, desktop-file-utils
, glib
, gnugrep
, gobject-introspection
, gtk3
, html2text
, libgee
, libxml2
, meson
, ninja
, pantheon
, pkg-config
, poppler
, poppler_utils
, python3
, sqlite
, unar
, unzip
, vala
, webkitgtk
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "bookworm";
version = "unstable-2022-01-09";
src = fetchFromGitHub {
owner = "babluboy";
repo = pname;
rev = "f3df858ce748a6bbc43f03a6e261ff76a6d7d303";
hash = "sha256-mLyJfblF5WnWBV3rX1ZRupccou4t5mBpo3W7+ECNMVI=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wrapGAppsHook
];
buildInputs = [
appstream
desktop-file-utils
glib
gobject-introspection
gtk3
html2text
libgee
libxml2
pantheon.granite
poppler
python3
sqlite
webkitgtk
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
# These programs are expected in PATH from the source code and scripts
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${lib.makeBinPath [ unzip unar poppler_utils html2text coreutils curl gnugrep ]}"
--prefix PATH : $out/bin
)
'';
postFixup = ''
patchShebangs $out/share/bookworm/scripts/mobi_lib/*.py
patchShebangs $out/share/bookworm/scripts/tasks/*.sh
'';
meta = with lib; {
description = "A simple, focused eBook reader";
longDescription = ''
Read the books you love without having to worry about different format complexities like epub, pdf, mobi, cbr, etc.
'';
homepage = "https://babluboy.github.io/bookworm/";
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,93 @@
{ mkDerivation, lib, fetchpatch, fetchurl, extra-cmake-modules, kdoctools
, 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, git, gsl, ilmbase, kproperty, kreport, lcms2, marble, pcre, libgit2, libodfgen
, librevenge, libvisio, libwpd, libwpg, libwps, okular, openexr, openjpeg, phonon
, poppler, pstoedit, qca-qt5, vc, fontconfig
# TODO: package Spnav, m2mml LibEtonyek, Libqgit2
}:
mkDerivation rec {
pname = "calligra";
version = "3.2.1";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
sha256 = "0iqi6z6gkck2afgy200dacgcspq7i7887alcj0pklm08hbmsdy5i";
};
patches = [
# 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 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 git gsl ilmbase kproperty kreport lcms2 marble pcre libgit2 libodfgen librevenge
libvisio libwpd libwpg libwps okular openexr openjpeg phonon poppler qca-qt5 vc
fontconfig
];
propagatedUserEnvPkgs = [ kproperty ];
NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
qtWrapperArgs = [
"--prefix PATH : ${lib.getBin pstoedit}/bin"
"--prefix XDG_DATA_DIRS : ${breeze-icons}/share"
];
meta = with lib; {
description = "A suite of productivity applications";
longDescription = ''
Calligra Suite is a set of applications written to help
you to accomplish your work. Calligra includes efficient
and capable office components: Words for text processing,
Sheets for computations, Plan for planning, and Karbon for
vector graphics.
'';
homepage = "https://www.calligra.org/";
maintainers = with maintainers; [ ebzzry zraexy ];
platforms = platforms.linux;
license = with licenses; [ gpl2 lgpl2 ];
};
}

View file

@ -0,0 +1,98 @@
diff --git a/libs/widgets/KoCsvImportDialog.cpp b/libs/widgets/KoCsvImportDialog.cpp
index 0ffdcf6..cdca006 100644
--- a/libs/widgets/KoCsvImportDialog.cpp
+++ b/libs/widgets/KoCsvImportDialog.cpp
@@ -21,6 +21,7 @@
#include "KoCsvImportDialog.h"
// Qt
+#include <QButtonGroup>
#include <QTextCodec>
#include <QTextStream>
diff --git a/libs/widgets/KoPageLayoutWidget.cpp b/libs/widgets/KoPageLayoutWidget.cpp
index f91555c..a3816f9 100644
--- a/libs/widgets/KoPageLayoutWidget.cpp
+++ b/libs/widgets/KoPageLayoutWidget.cpp
@@ -23,6 +23,8 @@
#include <KoUnit.h>
+#include <QButtonGroup>
+
class Q_DECL_HIDDEN KoPageLayoutWidget::Private
{
public:
diff --git a/plugins/chartshape/dialogs/TableEditorDialog.cpp b/plugins/chartshape/dialogs/TableEditorDialog.cpp
index c0d5136..d2a772e 100644
--- a/plugins/chartshape/dialogs/TableEditorDialog.cpp
+++ b/plugins/chartshape/dialogs/TableEditorDialog.cpp
@@ -24,6 +24,7 @@
// Qt
#include <QAbstractItemModel>
+#include <QAction>
// Calligra
#include <KoIcon.h>
diff --git a/plugins/formulashape/FormulaToolWidget.cpp b/plugins/formulashape/FormulaToolWidget.cpp
index ed10919..8f52177 100644
--- a/plugins/formulashape/FormulaToolWidget.cpp
+++ b/plugins/formulashape/FormulaToolWidget.cpp
@@ -30,6 +30,7 @@
#include <QWidgetAction>
#include <QTableWidget>
#include <QAction>
+#include <QHeaderView>
#include <QMenu>
FormulaToolWidget::FormulaToolWidget( KoFormulaTool* tool, QWidget* parent )
diff --git a/sheets/dialogs/LayoutDialog.cpp b/sheets/dialogs/LayoutDialog.cpp
index a0a9832..7d7db53 100644
--- a/sheets/dialogs/LayoutDialog.cpp
+++ b/sheets/dialogs/LayoutDialog.cpp
@@ -36,6 +36,7 @@
#include <math.h>
#include <QIntValidator>
+#include <QButtonGroup>
#include <QCheckBox>
#include <QFrame>
#include <QLabel>
diff --git a/words/part/dialogs/KWAnchoringProperties.cpp b/words/part/dialogs/KWAnchoringProperties.cpp
index d64208c..bfddb3a 100644
--- a/words/part/dialogs/KWAnchoringProperties.cpp
+++ b/words/part/dialogs/KWAnchoringProperties.cpp
@@ -35,6 +35,7 @@
#include <kundo2command.h>
+#include <QButtonGroup>
#include <QComboBox>
const int KWAnchoringProperties::vertRels[4][20] = {
diff --git a/words/part/dialogs/KWRunAroundProperties.cpp b/words/part/dialogs/KWRunAroundProperties.cpp
index e38599a..7e8b2d5 100644
--- a/words/part/dialogs/KWRunAroundProperties.cpp
+++ b/words/part/dialogs/KWRunAroundProperties.cpp
@@ -28,6 +28,8 @@
#include <kundo2command.h>
+#include <QButtonGroup>
+
KWRunAroundProperties::KWRunAroundProperties(FrameConfigSharedState *state)
: m_state(state)
{
diff --git a/stage/part/KPrPresentationTool.cpp b/stage/part/KPrPresentationTool.cpp
index ae743da..3007f91 100644
--- a/stage/part/KPrPresentationTool.cpp
+++ b/stage/part/KPrPresentationTool.cpp
@@ -32,6 +32,7 @@
#include <QDesktopServices>
#include <QUrl>
#include <QDBusConnection>
+#include <QFrame>
#include <KoShape.h>
#include <KoShapeManager.h>

View file

@ -0,0 +1,28 @@
{ lib, stdenv, fetchurl, qmake, qtbase, qtwebkit, qtx11extras, lzo, libX11 }:
stdenv.mkDerivation rec {
pname = "cb2bib";
version = "2.0.0";
src = fetchurl {
url = "https://www.molspaces.com/dl/progs/${pname}-${version}.tar.gz";
sha256 = "0gv7cnxi84lr6d5y71pd67h0ilmf5c88j1jxgyn9dvj19smrv99h";
};
buildInputs = [ qtbase qtwebkit qtx11extras lzo libX11 ];
nativeBuildInputs = [ qmake ];
configurePhase = ''
runHook preConfigure
./configure --prefix $out --qmakepath $QMAKE
runHook postConfigure
'';
dontWrapQtApps = true;
meta = with lib; {
description = "Rapidly extract unformatted, or unstandardized bibliographic references from email alerts, journal Web pages and PDF files";
homepage = "http://www.molspaces.com/d_cb2bib-overview.php";
maintainers = with maintainers; [ edwtjo ];
license = licenses.gpl3;
};
}

View file

@ -0,0 +1,47 @@
{ stdenv, lib, fetchurl, dpkg, makeWrapper, electron }:
stdenv.mkDerivation rec {
pname = "clockify";
version = "2.0.3";
src = fetchurl {
url = "https://web.archive.org/web/20211118160803/https://clockify-resources.s3.eu-central-1.amazonaws.com/downloads/Clockify_Setup.deb";
sha256 = "sha256-eVZ3OqM1eoWfST7Qu9o8VmLm8ntD+ETf/0aes6RY4Y8=";
};
nativeBuildInputs = [
dpkg
makeWrapper
];
dontBuild = true;
dontConfigure = true;
unpackPhase = ''
dpkg-deb -x ${src} ./
'';
installPhase = ''
runHook preInstall
mv usr $out
mv opt $out
substituteInPlace $out/share/applications/clockify.desktop \
--replace "/opt/Clockify" $out/bin
makeWrapper ${electron}/bin/electron $out/bin/clockify \
--add-flags $out/opt/Clockify/resources/app.asar
runHook postInstall
'';
meta = with lib; {
description = "Free time tracker and timesheet app that lets you track work hours across projects";
homepage = "https://clockify.me";
license = licenses.unfree;
maintainers = with maintainers; [ wolfangaukang ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -0,0 +1,28 @@
{ lib, python3, fetchurl }:
python3.pkgs.buildPythonApplication rec {
pname = "csv2odf";
version = "2.09";
src = fetchurl {
url = "mirror://sourceforge/project/${pname}/${pname}-${version}/${pname}-${version}.tar.gz";
sha256 = "09l0yfay89grjdzap2h11f0hcyn49np5zizg2yyp2aqgjs8ki57p";
};
meta = with lib; {
homepage = "https://sourceforge.net/p/csv2odf/wiki/Main_Page/";
description = "Convert csv files to OpenDocument Format";
longDescription = ''
csv2odf is a command line tool that can convert a comma separated value
(csv) file to an odf, ods, html, xlsx, or docx document that can be viewed in
LibreOffice and other office productivity programs. csv2odf is useful for
creating reports from databases and other data sources that produce csv files.
csv2odf can be combined with cron and shell scripts to automatically generate
business reports.
The output format (fonts, number formatting, etc.) is controlled by a
template file that you can design in your office application of choice.
'';
license = licenses.gpl3;
maintainers = with maintainers; [ leenaars ];
};
}

View file

@ -0,0 +1,45 @@
{lib, stdenv, fetchurl, runtimeShell, makeWrapper
, oraclejre
, antialiasFont ? true
}:
stdenv.mkDerivation {
pname = "docear";
version = "1.2";
src = fetchurl {
url = "http://docear.org/downloads/docear_linux.tar.gz";
sha256 = "1g5n7r2x4gas6dl2fbyh7v9yxdcb6bzml8n3ldmpzv1rncgjcdp4";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ oraclejre ];
buildPhase = "";
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/share
cp -R * $out/share
chmod 0755 $out/share/ -R
# The wrapper ensures oraclejre is used
makeWrapper ${runtimeShell} $out/bin/docear \
--set _JAVA_OPTIONS "${lib.optionalString antialiasFont "-Dswing.aatext=TRUE -Dawt.useSystemAAFontSettings=on"}" \
--set JAVA_HOME ${oraclejre.home} \
--add-flags "$out/share/docear.sh"
chmod 0755 $out/bin/docear
'';
meta = with lib; {
description = "A unique solution to academic literature management";
homepage = "http://www.docear.org/";
# Licenses at: http://www.docear.org/software/download/
license = with licenses; [
gpl2 # for the main software and some dependencies
bsd3 # for one of its dependencies
];
maintainers = with maintainers; [ unode ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,104 @@
{ lib, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, desktop-file-utils
, python3
, vala
, wrapGAppsHook
, evolution-data-server
, libical
, libgee
, json-glib
, glib
, glib-networking
, sqlite
, libsoup
, libgdata
, gtk3
, pantheon /* granite, icons, maintainers */
, webkitgtk
, libpeas
, libhandy
, curl
}:
stdenv.mkDerivation rec {
pname = "elementary-planner";
version = "2.7";
src = fetchFromGitHub {
owner = "alainm23";
repo = "planner";
rev = version;
sha256 = "sha256-3eFPGRcZWhzFYi52TbHmpFNLI0pWYcHbbBI7efqZwYE=";
};
nativeBuildInputs = [
desktop-file-utils
meson
ninja
pkg-config
python3
vala
wrapGAppsHook
];
buildInputs = [
evolution-data-server
glib
glib-networking
gtk3
json-glib
libgee
libical
libpeas
libsoup
pantheon.elementary-icon-theme
pantheon.granite
sqlite
webkitgtk
libhandy
curl
];
postPatch = ''
# The GTK theme has been renamed in elementary OS 6
# https://github.com/elementary/flatpak-platform/blob/6.1.0/io.elementary.Sdk.json#L182
# Remove this in https://github.com/NixOS/nixpkgs/pull/159249
substituteInPlace src/Application.vala \
--replace '"gtk-theme-name", "elementary"' '"gtk-theme-name", "io.elementary.stylesheet.blueberry"'
# Fix build with vala 0.56
# https://github.com/alainm23/planner/pull/884
substituteInPlace src/Application.vala \
--replace "public const OptionEntry[] PLANNER_OPTIONS" "private const OptionEntry[] PLANNER_OPTIONS"
chmod +x build-aux/meson/post_install.py
patchShebangs build-aux/meson/post_install.py
'';
preFixup = ''
gappsWrapperArgs+=(
# The GTK theme is hardcoded.
--prefix XDG_DATA_DIRS : "${pantheon.elementary-gtk-theme}/share"
# The icon theme is hardcoded.
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
)
'';
postFixup = ''
ln -s $out/bin/com.github.alainm23.planner $out/bin/planner
'';
meta = with lib; {
description = "Task manager with Todoist support designed for GNU/Linux 🚀";
homepage = "https://planner-todo.web.app";
license = licenses.gpl3;
maintainers = with maintainers; [ dtzWill ] ++ teams.pantheon.members;
platforms = platforms.linux;
mainProgram = "com.github.alainm23.planner";
};
}

View file

@ -0,0 +1,64 @@
{ lib
, fetchFromGitHub
, rustPlatform
, pkg-config
, extra-cmake-modules
, libX11
, libXi
, libXtst
, libnotify
, openssl
, xclip
, xdotool
, makeWrapper
}:
rustPlatform.buildRustPackage rec {
pname = "espanso";
version = "0.7.3";
src = fetchFromGitHub {
owner = "federico-terzi";
repo = pname;
rev = "v${version}";
sha256 = "1q47r43midkq9574gl8gdv3ylvrnbhdc39rrw4y4yk6jbdf5wwkm";
};
cargoSha256 = "0ba5skn5s6qh0blf6bvivzvqc2l8v488l9n3x98pmf6nygrikfdb";
nativeBuildInputs = [
extra-cmake-modules
pkg-config
makeWrapper
];
buildInputs = [
libX11
libXtst
libXi
libnotify
xclip
openssl
xdotool
];
# Some tests require networking
doCheck = false;
postInstall = ''
wrapProgram $out/bin/espanso \
--prefix PATH : ${lib.makeBinPath [ libnotify xclip ]}
'';
meta = with lib; {
description = "Cross-platform Text Expander written in Rust";
homepage = "https://espanso.org";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ kimat ];
platforms = platforms.linux;
longDescription = ''
Espanso detects when you type a keyword and replaces it while you're typing.
'';
};
}

View file

@ -0,0 +1,61 @@
{ lib, python3, fetchpatch }:
python3.pkgs.buildPythonApplication rec {
pname = "fava";
version = "1.21";
format = "pyproject";
src = python3.pkgs.fetchPypi {
inherit pname version;
sha256 = "sha256-0aFCKEjmXn6yddgNMi9t4rzqHcN7VBLoz3LEg9apmNY=";
};
patches = [
(fetchpatch {
# Update werkzeug compatibility
url = "https://github.com/beancount/fava/commit/5a99417a42e1d739b1e57fae2d01ff1d146dcbc2.patch";
hash = "sha256-Y6IcxZAcFJEYgT8/xBIABdkP+pUdQX1EgSS5uNdSJUE=";
excludes = [
".pre-commit-config.yaml"
];
})
];
nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];
propagatedBuildInputs = with python3.pkgs; [
babel
beancount
cheroot
click
flask
flaskbabel
jaraco_functools
jinja2
markdown2
ply
simplejson
werkzeug
];
checkInputs = with python3.pkgs; [
pytestCheckHook
];
preCheck = ''
export HOME=$TEMPDIR
'';
disabledTests = [
# runs fava in debug mode, which tries to interpret bash wrapper as Python
"test_cli"
];
meta = with lib; {
description = "Web interface for beancount";
homepage = "https://beancount.github.io/fava";
changelog = "https://beancount.github.io/fava/changelog.html";
license = licenses.mit;
maintainers = with maintainers; [ bhipple ];
};
}

View file

@ -0,0 +1,43 @@
{ lib, stdenv, fetchurl, makeWrapper, jre }:
let
version = "2021.2.1";
majorVersion = builtins.substring 0 6 version;
in
stdenv.mkDerivation rec {
pname = "flexibee";
inherit version;
src = fetchurl {
url = "http://download.flexibee.eu/download/${majorVersion}/${version}/${pname}-${version}.tar.gz";
sha256 = "sha256-WorRyfjWucV8UhAjvuW+22CRzPcz5tjXF7Has4wrLMI=";
};
nativeBuildInputs = [ makeWrapper ];
prePatch = ''
substituteInPlace usr/sbin/flexibee-server \
--replace "/usr/share/flexibee" $out \
--replace "/var/run" "/run"
'';
installPhase = ''
runHook preInstall
cp -R usr/share/flexibee/ $out/
install -Dm755 usr/bin/flexibee $out/bin/flexibee
install -Dm755 usr/sbin/flexibee-server $out/bin/flexibee-server
wrapProgram $out/bin/flexibee --set JAVA_HOME "${jre}"
wrapProgram $out/bin/flexibee-server --set JAVA_HOME "${jre}"
runHook postInstall
'';
meta = with lib; {
description = "Client for an accouting economic system";
homepage = "https://www.flexibee.eu/";
license = licenses.unfree;
maintainers = [ maintainers.mmahut ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -0,0 +1,45 @@
{ stdenv, lib, fetchFromGitHub, meson, gettext, glib, gjs, ninja, python3, gtk3
, webkitgtk, gsettings-desktop-schemas, wrapGAppsHook, desktop-file-utils
, gobject-introspection, glib-networking }:
stdenv.mkDerivation rec {
pname = "foliate";
version = "2.6.4";
src = fetchFromGitHub {
owner = "johnfactotum";
repo = pname;
rev = version;
sha256 = "sha256-Pr2YA2MHXD4W7lyCxGAVLKyoZarZ8t92RSkWle3LNuc=";
};
nativeBuildInputs = [ meson ninja python3 wrapGAppsHook ];
postPatch = ''
patchShebangs build-aux/meson/postinstall.py
'';
postFixup = ''
sed -i "1 a imports.package._findEffectiveEntryPointName = () => 'com.github.johnfactotum.Foliate';" $out/bin/.com.github.johnfactotum.Foliate-wrapped
ln -s $out/bin/com.github.johnfactotum.Foliate $out/bin/foliate
'';
buildInputs = [
gettext
glib
glib-networking
gjs
gtk3
webkitgtk
desktop-file-utils
gobject-introspection
gsettings-desktop-schemas
];
meta = with lib; {
description = "A simple and modern GTK eBook reader";
homepage = "https://johnfactotum.github.io/foliate/";
license = licenses.gpl3Only;
maintainers = with maintainers; [ onny ];
};
}

View file

@ -0,0 +1,43 @@
diff --git a/libgnucash/engine/test/CMakeLists.txt b/libgnucash/engine/test/CMakeLists.txt
index 8e44172ff..c7289e4fd 100644
--- a/libgnucash/engine/test/CMakeLists.txt
+++ b/libgnucash/engine/test/CMakeLists.txt
@@ -167,22 +167,22 @@ set(test_gnc_numeric_SOURCES
gnc_add_test(test-gnc-numeric "${test_gnc_numeric_SOURCES}"
gtest_engine_INCLUDES gtest_qof_LIBS)
-set(test_gnc_timezone_SOURCES
- ${MODULEPATH}/gnc-timezone.cpp
- gtest-gnc-timezone.cpp)
-gnc_add_test(test-gnc-timezone "${test_gnc_timezone_SOURCES}"
- gtest_engine_INCLUDES gtest_old_engine_LIBS)
-
-set(test_gnc_datetime_SOURCES
- ${MODULEPATH}/gnc-datetime.cpp
- ${MODULEPATH}/gnc-timezone.cpp
- ${MODULEPATH}/gnc-date.cpp
- ${MODULEPATH}/qoflog.cpp
- ${CMAKE_SOURCE_DIR}/libgnucash/core-utils/gnc-locale-utils.cpp
- ${gtest_engine_win32_SOURCES}
- gtest-gnc-datetime.cpp)
-gnc_add_test(test-gnc-datetime "${test_gnc_datetime_SOURCES}"
- gtest_engine_INCLUDES gtest_qof_LIBS)
+#set(test_gnc_timezone_SOURCES
+# ${MODULEPATH}/gnc-timezone.cpp
+# gtest-gnc-timezone.cpp)
+#gnc_add_test(test-gnc-timezone "${test_gnc_timezone_SOURCES}"
+# gtest_engine_INCLUDES gtest_old_engine_LIBS)
+
+#set(test_gnc_datetime_SOURCES
+# ${MODULEPATH}/gnc-datetime.cpp
+# ${MODULEPATH}/gnc-timezone.cpp
+# ${MODULEPATH}/gnc-date.cpp
+# ${MODULEPATH}/qoflog.cpp
+# ${CMAKE_SOURCE_DIR}/libgnucash/core-utils/gnc-locale-utils.cpp
+# ${gtest_engine_win32_SOURCES}
+# gtest-gnc-datetime.cpp)
+#gnc_add_test(test-gnc-datetime "${test_gnc_datetime_SOURCES}"
+# gtest_engine_INCLUDES gtest_qof_LIBS)
set(test_import_map_SOURCES
gtest-import-map.cpp)

View file

@ -0,0 +1,18 @@
diff --git a/libgnucash/quotes/CMakeLists.txt b/libgnucash/quotes/CMakeLists.txt
index b33569d39..fdbfa10a9 100644
--- a/libgnucash/quotes/CMakeLists.txt
+++ b/libgnucash/quotes/CMakeLists.txt
@@ -1,6 +1,6 @@
set(_BIN_FILES "")
-foreach(file gnc-fq-check.in gnc-fq-helper.in gnc-fq-update.in gnc-fq-dump.in)
+foreach(file gnc-fq-check.in gnc-fq-helper.in gnc-fq-dump.in)
string(REPLACE ".in" "" _OUTPUT_FILE_NAME ${file})
set(_ABS_OUTPUT_FILE ${BINDIR_BUILD}/${_OUTPUT_FILE_NAME})
configure_file( ${file} ${_ABS_OUTPUT_FILE} @ONLY)
@@ -26,4 +26,4 @@ add_custom_target(quotes-bin ALL DEPENDS ${_BIN_FILES})
install(FILES ${_MAN_FILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
install(PROGRAMS ${_BIN_FILES} DESTINATION ${CMAKE_INSTALL_BINDIR})
-set_dist_list(quotes_DIST CMakeLists.txt gnc-fq-check.in gnc-fq-dump.in gnc-fq-helper.in gnc-fq-update.in Quote_example.pl README)
+set_dist_list(quotes_DIST CMakeLists.txt gnc-fq-check.in gnc-fq-dump.in gnc-fq-helper.in Quote_example.pl README)

View file

@ -0,0 +1,35 @@
diff --git a/gnucash/CMakeLists.txt b/gnucash/CMakeLists.txt
index 8e6e339d1..3936a8cb6 100644
--- a/gnucash/CMakeLists.txt
+++ b/gnucash/CMakeLists.txt
@@ -163,13 +163,6 @@ set(GNUCASH_BIN_INSTALL_NAME "gnucash")
set(VALGRIND_OUTDIR ${BINDIR_BUILD})
-configure_file(gnucash-valgrind.in ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/gnucash-valgrind @ONLY)
-
-file(COPY ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/gnucash-valgrind
- DESTINATION ${VALGRIND_OUTDIR}
- FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
-)
-
## Create the environment file
file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/environment.in ENV_STRINGS_IN)
@@ -253,7 +246,6 @@ file(COPY ${ENV_FILE_OUT}
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
-install(FILES ${SCRIPT_LIST} ${VALGRIND_OUTDIR}/gnucash-valgrind DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES ${ENVIRONMENT_FILE_DIR}/environment DESTINATION
${CMAKE_INSTALL_FULL_SYSCONFDIR}/gnucash)
@@ -274,7 +266,7 @@ gnc_add_scheme_targets(price-quotes
set_local_dist(gnucash_DIST_local CMakeLists.txt environment.in generate-gnc-script
gnucash.cpp gnucash-commands.cpp gnucash-cli.cpp gnucash-core-app.cpp
- gnucash-locale-macos.mm gnucash-locale-windows.c gnucash.rc.in gnucash-valgrind.in
+ gnucash-locale-macos.mm gnucash-locale-windows.c gnucash.rc.in
gnucash-gresources.xml ${gresource_files} price-quotes.scm
${gnucash_noinst_HEADERS} ${gnucash_EXTRA_DIST})

View file

@ -0,0 +1,213 @@
{ lib
, stdenv
, fetchurl
, aqbanking
, boost
, cmake
, gettext
, glib
, glibcLocales
, gtest
, guile
, gwenhywfar
, icu
, libdbi
, libdbiDrivers
, libofx
, libxml2
, libxslt
, makeWrapper
, perlPackages
, pkg-config
, swig
, webkitgtk
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "gnucash";
version = "4.10";
# raw source code doesn't work out of box; fetchFromGitHub not usable
src = fetchurl {
url = "https://github.com/Gnucash/gnucash/releases/download/${version}/${pname}-${version}.tar.bz2";
hash = "sha256-f9S7kZ9uOTiKtHv6Ea9vo/Wem5vWlcfU6SCK+Fy5yTs=";
};
nativeBuildInputs = [
cmake
gettext
makeWrapper
wrapGAppsHook
];
buildInputs = [
aqbanking
boost
glib
glibcLocales
gtest
guile
gwenhywfar
icu
libdbi
libdbiDrivers
libofx
libxml2
libxslt
pkg-config
swig
webkitgtk
]
++ (with perlPackages; [
DateManip
FinanceQuote
perl
]);
patches = [
# this patch disables test-gnc-timezone and test-gnc-datetime which fail due to nix datetime challenges
./0001-disable-date-and-time-tests.patch
# this patch prevents the building of gnc-fq-update, a utility which updates the GnuCash cli utils
./0002-disable-gnc-fq-update.patch
# this patch prevents the building of gnucash-valgrind
./0003-remove-valgrind.patch
];
# this needs to be an environment variable and not a cmake flag to suppress
# guile warning
GUILE_AUTO_COMPILE="0";
# `make check` target does not define its prerequisites but expects them to
# have already been built. The list of targets below was built through trial
# and error based on failing tests.
doCheck = true;
preCheck = ''
make \
test-account-object \
test-address \
test-agedver \
test-app-utils \
test-aqb \
test-autoclear \
test-backend-dbi \
test-business \
test-column-types \
test-commodities \
test-customer \
test-dom-converters1 \
test-dynload \
test-employee \
test-engine \
test-exp-parser \
test-gnc-glib-utils \
test-gnc-guid \
test-gnc-int128 \
test-gnc-numeric \
test-gnc-path-util \
test-gnc-rational \
test-group-vs-book \
test-guid \
test-import-account-matcher \
test-import-backend \
test-import-map \
test-import-parse \
test-import-pending-matches \
test-incompatdep \
test-job \
test-kvp-frames \
test-kvp-value \
test-link-module-tax-us \
test-link-ofx \
test-load-backend \
test-load-c \
test-load-engine \
test-load-example-account \
test-load-xml2 \
test-lots \
test-modsysver \
test-numeric \
test-object \
test-print-parse-amount \
test-qof \
test-qofquerycore \
test-qofsession \
test-query \
test-querynew \
test-recurrence \
test-resolve-file-path \
test-scm-query \
test-scm-query-string \
test-split-register-copy-ops \
test-split-vs-account \
test-sqlbe \
test-string-converters \
test-sx \
test-tokenizer \
test-transaction-reversal \
test-transaction-voiding \
test-userdata-dir \
test-userdata-dir-invalid-home \
test-vendor \
test-xml-account \
test-xml-commodity \
test-xml-pricedb \
test-xml-transaction \
test-xml2-is-file
export LD_LIBRARY_PATH="$PWD/lib:$PWD/lib/gnucash:$PWD/lib/gnucash/test:$PWD/lib/gnucash/test/future"
'';
preFixup = ''
gappsWrapperArgs+=(
# db drivers location
--set GNC_DBD_DIR ${libdbiDrivers}/lib/dbd
# gnome settings schemas location on Nix
--set GSETTINGS_SCHEMA_DIR ${glib.makeSchemaPath "$out" "${pname}-${version}"}
)
'';
# wrapGAppsHook would wrap all binaries including the cli utils which need
# Perl wrapping
dontWrapGApps = true;
# gnucash is wrapped using the args constructed for wrapGAppsHook.
# gnc-fq-* are cli utils written in Perl hence the extra wrapping
postFixup = ''
wrapProgram $out/bin/gnucash "''${gappsWrapperArgs[@]}"
for file in $out/bin/gnc-fq-check $out/bin/gnc-fq-dump $out/bin/gnc-fq-helper; do
wrapProgram $file \
--prefix PERL5LIB : "${with perlPackages; makeFullPerlPath [ DateManip FinanceQuote ]}"
done
'';
meta = with lib; {
homepage = "https://www.gnucash.org/";
description = "Free software for double entry accounting";
longDescription = ''
GnuCash is personal and small-business financial-accounting software,
freely licensed under the GNU GPL and available for GNU/Linux, BSD,
Solaris, Mac OS X and Microsoft Windows.
Designed to be easy to use, yet powerful and flexible, GnuCash allows you
to track bank accounts, stocks, income and expenses. As quick and
intuitive to use as a checkbook register, it is based on professional
accounting principles to ensure balanced books and accurate reports.
Some interesting features:
- Double-Entry Accounting
- Stock/Bond/Mutual Fund Accounts
- Small-Business Accounting
- Reports, Graphs
- QIF/OFX/HBCI Import, Transaction Matching
- Scheduled Transactions
- Financial Calculations
'';
license = licenses.gpl2Plus;
maintainers = with maintainers; [ domenkozar AndersonTorres ];
platforms = platforms.unix;
};
}
# TODO: investigate Darwin support

View file

@ -0,0 +1,44 @@
{ lib, stdenv, fetchurl, pkg-config, intltool, perlPackages
, goffice, gnome, wrapGAppsHook, gtk3, bison, python3Packages
, itstool
}:
let
inherit (python3Packages) python pygobject3;
in stdenv.mkDerivation rec {
pname = "gnumeric";
version = "1.12.52";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "c89zBJoiodgoUGJ1ssk3jsN8X/N7aLsfL0lPDWQAgjs=";
};
configureFlags = [ "--disable-component" ];
nativeBuildInputs = [ pkg-config intltool bison itstool wrapGAppsHook ];
# ToDo: optional libgda, introspection?
buildInputs = [
goffice gtk3 gnome.adwaita-icon-theme
python pygobject3
] ++ (with perlPackages; [ perl XMLParser ]);
enableParallelBuilding = true;
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
versionPolicy = "odd-unstable";
};
};
meta = with lib; {
description = "The GNOME Office Spreadsheet";
license = lib.licenses.gpl2Plus;
homepage = "http://projects.gnome.org/gnumeric/";
platforms = platforms.unix;
broken = with stdenv; isDarwin && isAarch64;
maintainers = [ maintainers.vcunat ];
};
}

View file

@ -0,0 +1,47 @@
{ fetchurl
, lib, stdenv
, gtk
, pkg-config
, libgsf
, libofx
, intltool
, wrapGAppsHook
, libsoup
, gnome
}:
stdenv.mkDerivation rec {
pname = "grisbi";
version = "2.0.5";
src = fetchurl {
url = "mirror://sourceforge/grisbi/${pname}-${version}.tar.bz2";
sha256 = "sha256-vTrbq/xLTfwF7/YtKzZFiiSw8A0HzzWin2ry8gPHej8=";
};
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
buildInputs = [
gtk
libgsf
libofx
intltool
libsoup
gnome.adwaita-icon-theme
];
meta = with lib; {
description = "A personnal accounting application";
longDescription = ''
Grisbi is an application written by French developers, so it perfectly
respects French accounting rules. Grisbi can manage multiple accounts,
currencies and users. It manages third party, expenditure and receipt
categories, budgetary lines, financial years, budget estimates, bankcard
management and other information that make Grisbi adapted for
associations.
'';
homepage = "https://grisbi.org";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ layus ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,88 @@
{ lib
, fetchFromGitHub
, fetchpatch
, meson
, python3Packages
, ninja
, gtk3
, wrapGAppsHook
, glib
, itstool
, gettext
, pango
, gdk-pixbuf
, gobject-introspection
, xvfb-run
}:
python3Packages.buildPythonApplication rec {
pname = "gtg";
version = "0.5";
src = fetchFromGitHub {
owner = "getting-things-gnome";
repo = "gtg";
rev = "v${version}";
sha256 = "0b2slm7kjq6q8c7v4m7aqc8m1ynjxn3bl7445srpv1xc0dilq403";
};
patches = [
# fix build with meson 0.60 (https://github.com/getting-things-gnome/gtg/pull/729)
(fetchpatch {
url = "https://github.com/getting-things-gnome/gtg/commit/1809d10663ae3d8f69c04138b66f9b4e66ee14f6.patch";
sha256 = "sha256-bYr5PAsuvcSqTf0vaJj2APtuBrwHdhXJxtXoAb7CfGk=";
})
];
nativeBuildInputs = [
meson
ninja
itstool
gettext
wrapGAppsHook
gobject-introspection
];
buildInputs = [
glib
gtk3
pango
gdk-pixbuf
];
propagatedBuildInputs = with python3Packages; [
pycairo
pygobject3
lxml
gst-python
liblarch
];
checkInputs = with python3Packages; [
nose
mock
xvfb-run
];
preBuild = ''
export HOME="$TMP"
'';
format = "other";
strictDeps = false; # gobject-introspection does not run with strictDeps (https://github.com/NixOS/nixpkgs/issues/56943)
checkPhase = "xvfb-run python3 ../run-tests";
meta = with lib; {
description = " A personal tasks and TODO-list items organizer";
longDescription = ''
"Getting Things GNOME" (GTG) is a personal tasks and ToDo list organizer inspired by the "Getting Things Done" (GTD) methodology.
GTG is intended to help you track everything you need to do and need to know, from small tasks to large projects.
'';
homepage = "https://wiki.gnome.org/Apps/GTG";
downloadPage = "https://github.com/getting-things-gnome/gtg/releases";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ oyren ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,43 @@
{lib, stdenvNoCC, haskellPackages, fetchurl, writers}:
stdenvNoCC.mkDerivation rec {
pname = "hledger-check-fancyassertions";
inherit (haskellPackages.hledger-lib) version;
src = fetchurl {
name = "hledger-check-fancyassertion-${version}.hs";
url = "https://raw.githubusercontent.com/simonmichael/hledger/hledger-lib-${version}/bin/hledger-check-fancyassertions.hs";
sha256 = "1xy3ssxnwybq40nlffz95w7m9xbzf8ysb13svg0i8g5sfgrw11vk";
};
dontUnpack = true;
dontBuild = true;
executable = writers.writeHaskell
"hledger-check-fancyassertions"
{
libraries = with haskellPackages; [
hledger-lib
base base-compat base-compat-batteries filepath
megaparsec microlens optparse-applicative string-qq text time
transformers
];
inherit (haskellPackages) ghc;
}
src;
installPhase = ''
runHook preInstall
install -D $executable $out/bin/${pname}
runHook postInstall
'';
meta = with lib; {
description = "Complex account balance assertions for hledger journals";
homepage = "https://hledger.org/";
changelog = "https://github.com/simonmichael/hledger/blob/master/CHANGES.md";
license = licenses.gpl3;
maintainers = [ maintainers.DamienCassou ];
platforms = lib.platforms.all; # GHC can cross-compile
};
}

View file

@ -0,0 +1,22 @@
{ fetchurl, lib, stdenv, gtk, pkg-config, libofx, intltool, wrapGAppsHook
, libsoup, gnome }:
stdenv.mkDerivation rec {
pname = "homebank";
version = "5.5.4";
src = fetchurl {
url = "http://homebank.free.fr/public/homebank-${version}.tar.gz";
sha256 = "sha256-DQZpvKCZNArlwhPqE8srkyg7/IoOTPelkCwYKTZuV2U=";
};
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
buildInputs = [ gtk libofx intltool libsoup gnome.adwaita-icon-theme ];
meta = with lib; {
description = "Free, easy, personal accounting for everyone";
homepage = "http://homebank.free.fr/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ pSub ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,164 @@
{ lib, stdenv, fetchFromGitHub, unzip, jdk, ib-tws, xpra }:
stdenv.mkDerivation rec {
version = "2.14.0";
pname = "ib-controller";
src = fetchFromGitHub {
owner = "ib-controller";
repo = "ib-controller";
rev = version;
sha256 = "sha256-R175CKb3uErjBNe73HEFMI+bNmmuH2nWGraCSh5bXwc=";
};
nativeBuildInputs = [ unzip ];
buildInputs = [ jdk ib-tws ];
installPhase = ''
mkdir -p $out $out/bin $out/etc/ib/controller $out/share/IBController
cp resources/*.jar $out/share/IBController/.
cp resources/*.ini $out/etc/ib/controller/.
classpath=""
for jar in ${ib-tws}/share/IBJts/*.jar; do
classpath="$classpath:$jar"
done
for jar in $out/share/IBController/*.jar; do
classpath="$classpath:$jar"
done
# strings to use below; separated to avoid nix specific substitutions
javaOptions={JAVA_OPTIONS:--Xmx1024M}
ibProfileDir={IB_PROFILE_DIR:-~/IB/}
cat<<EOF > $out/bin/ib-tws-c
#!$SHELL
if [[ \$1 == /* ]] || [[ \$1 == ./* ]]; then
IB_USER_PROFILE=\`realpath \$1\`
IB_USER_PROFILE_TITLE=\`basename \$1\`
else
if [[ x\$1 != "x" ]] && [[ \$1 != -* ]]; then
IB_USER_PROFILE=\`realpath \$$ibProfileDir\$1\`
IB_USER_PROFILE_TITLE=\$1
else
echo "ERROR: \"\$1\" is not a valid name of a profile."
exit 1
fi
fi
shift
if [ ! -e \$IB_USER_PROFILE ]; then mkdir -p \$IB_USER_PROFILE; fi
if [ ! -d \$IB_USER_PROFILE ]; then echo "ERROR: \$IB_USER_PROFILE must be a directory!" && echo 1; fi
if [ ! -e \$IB_USER_PROFILE/jts.ini ]; then cp ${ib-tws}/etc/ib/tws/jts.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/jts.ini; fi
if [ ! -e \$IB_USER_PROFILE/IBController.ini ]; then cp $out/etc/ib/controller/IBController.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/IBController.ini; fi
if [[ \$1 == "-q" ]]; then
if [ -f \$IB_USER_PROFILE/xpra/run ]; then
${xpra}/bin/xpra stop \`cat \$IB_USER_PROFILE/xpra/run\` --socket-dir=\$IB_USER_PROFILE/xpra/ &> /dev/null
fi
exit 0
fi
if [[ \$1 == "-d" ]] && [ ! -f \$IB_USER_PROFILE/xpra/run ]; then
( sleep infinity ) &
WAIT_DUMMY_PID=\$!
( trap "" INT;
DISPLAYNUM=100
while [ -f /tmp/.X\$DISPLAYNUM-lock ]; do DISPLAYNUM=\$((\$DISPLAYNUM + 1)); done
mkdir -p \$IB_USER_PROFILE/xpra
cd \$IB_USER_PROFILE
nohup ${xpra}/bin/xpra start :\$DISPLAYNUM \
--socket-dir=\$IB_USER_PROFILE/xpra/ \
--start-child="echo -n :\$DISPLAYNUM > \$IB_USER_PROFILE/xpra/run \
&& kill \$WAIT_DUMMY_PID &> /dev/null \
&& ${jdk}/bin/java -cp $classpath \$$javaOptions ibcontroller.IBController \$IB_USER_PROFILE/IBController.ini" \
--exit-with-children \
--no-pulseaudio \
--no-mdns \
--no-notification \
--no-daemon \
&> \$IB_USER_PROFILE/xpra/server.log
rm -f \$IB_USER_PROFILE/xpra/run
rm -f /tmp/.X\$DISPLAYNUM-lock
) &
wait \$WAIT_DUMMY_PID
exit 0
fi
if [ -f \$IB_USER_PROFILE/xpra/run ]; then
${xpra}/bin/xpra attach \`cat \$IB_USER_PROFILE/xpra/run\` --socket-dir=\$IB_USER_PROFILE/xpra/ \
--windows \
--no-speaker \
--no-microphone \
--no-tray \
--title="\$IB_USER_PROFILE_TITLE: @title@" \
&> \$IB_USER_PROFILE/xpra/client.log
fi
EOF
chmod u+x $out/bin/ib-tws-c
cat<<EOF > $out/bin/ib-gw-c
#!$SHELL
if [[ \$1 == /* ]] || [[ \$1 == ./* ]]; then
IB_USER_PROFILE=\`realpath \$1\`
IB_USER_PROFILE_TITLE=\`basename \$1\`
else
if [[ x\$1 != "x" ]] && [[ \$1 != -* ]]; then
IB_USER_PROFILE=\`realpath \$$ibProfileDir\$1\`
IB_USER_PROFILE_TITLE=\$1
else
echo "ERROR: \"\$1\" is not a valid name of a profile."
exit 1
fi
fi
shift
if [ ! -e \$IB_USER_PROFILE ]; then mkdir -p \$IB_USER_PROFILE; fi
if [ ! -d \$IB_USER_PROFILE ]; then echo "ERROR: \$IB_USER_PROFILE must be a directory!" && echo 1; fi
if [ ! -e \$IB_USER_PROFILE/jts.ini ]; then cp ${ib-tws}/etc/ib/tws/jts.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/jts.ini; fi
if [ ! -e \$IB_USER_PROFILE/IBController.ini ]; then cp $out/etc/ib/controller/IBController.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/IBController.ini; fi
if [[ \$1 == "-q" ]]; then
if [ -f \$IB_USER_PROFILE/xpra/run ]; then
${xpra}/bin/xpra stop \`cat \$IB_USER_PROFILE/xpra/run\` --socket-dir=\$IB_USER_PROFILE/xpra/ &> /dev/null
fi
exit 0
fi
if [[ \$1 == "-d" ]] && [ ! -f \$IB_USER_PROFILE/xpra/run ]; then
( sleep infinity ) &
WAIT_DUMMY_PID=\$!
( trap "" INT;
DISPLAYNUM=100
while [ -f /tmp/.X\$DISPLAYNUM-lock ]; do DISPLAYNUM=\$((\$DISPLAYNUM + 1)); done
mkdir -p \$IB_USER_PROFILE/xpra
cd \$IB_USER_PROFILE
nohup ${xpra}/bin/xpra start :\$DISPLAYNUM \
--socket-dir=\$IB_USER_PROFILE/xpra/ \
--start-child="echo -n :\$DISPLAYNUM > \$IB_USER_PROFILE/xpra/run \
&& kill \$WAIT_DUMMY_PID &> /dev/null \
&& ${jdk}/bin/java -cp $classpath \$$javaOptions ibcontroller.IBGatewayController \$IB_USER_PROFILE/IBController.ini" \
--exit-with-children \
--no-pulseaudio \
--no-mdns \
--no-notification \
--no-daemon \
&> \$IB_USER_PROFILE/xpra/server.log
rm -f \$IB_USER_PROFILE/xpra/run
rm -f /tmp/.X\$DISPLAYNUM-lock
) &
wait \$WAIT_DUMMY_PID
exit 0
fi
if [ -f \$IB_USER_PROFILE/xpra/run ]; then
${xpra}/bin/xpra attach \`cat \$IB_USER_PROFILE/xpra/run\` --socket-dir=\$IB_USER_PROFILE/xpra/ \
--windows \
--no-speaker \
--no-microphone \
--no-tray \
--title="\$IB_USER_PROFILE_TITLE: @title@" \
&> \$IB_USER_PROFILE/xpra/client.log
fi
EOF
chmod u+x $out/bin/ib-gw-c
'';
meta = with lib; {
description = "Automation Controller for the Trader Work Station of Interactive Brokers";
homepage = "https://github.com/ib-controller/ib-controller";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.gpl3;
maintainers = [ maintainers.tstrobel ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,97 @@
{ lib, stdenv, requireFile, jdk }:
stdenv.mkDerivation rec {
version = "9542";
pname = "ib-tws";
src = requireFile rec {
name = "ibtws_${version}.jar";
message = ''
This nix expression requires that ${name} is already part of the store.
Download the TWS from
https://download2.interactivebrokers.com/download/unixmacosx_latest.jar,
rename the file to ${name}, and add it to the nix store with
"nix-prefetch-url file://\$PWD/${name}".
'';
sha256 = "1a2jiwwnr5g3xfba1a89c257bdbnq4zglri8hz021vk7f6s4rlrf";
};
phases = [ "unpackPhase" "buildPhase" "installPhase" ];
buildInputs = [ jdk ];
buildPhase = ''
jar -xf IBJts/jts.jar
cp trader/common/images/ibapp_icon.gif ibtws_icon.gif
'';
unpackPhase = ''
jar xf ${src}
'';
installPhase = ''
mkdir -p $out $out/bin $out/etc/ib/tws $out/share/IBJts $out/share/icons
cp IBJts/*.jar $out/share/IBJts/.
cp IBJts/*.ini $out/etc/ib/tws/.
cp ibtws_icon.gif $out/share/icons/.
classpath=""
for jar in $out/share/IBJts/*.jar; do
classpath="$classpath:$jar"
done
# strings to use below; separated to avoid nix specific substitutions
javaOptions={JAVA_OPTIONS:-'-Xmx1024M -Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.xrender=True -Dsun.java2d.opengl=False'}
# OTHER JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java
ibProfileDir={IB_PROFILE_DIR:-~/IB/}
cat<<EOF > $out/bin/ib-tws
#!$SHELL
if [[ \$1 == /* ]] || [[ \$1 == ./* ]]; then
IB_USER_PROFILE=\`realpath \$1\`
IB_USER_PROFILE_TITLE=\`basename \$1\`
else
if [[ x\$1 != "x" ]] && [[ \$1 != -* ]]; then
IB_USER_PROFILE=\`realpath \$$ibProfileDir\$1\`
IB_USER_PROFILE_TITLE=\$1
else
echo "ERROR: \"\$1\" is not a valid name of a profile."
exit 1
fi
fi
shift
if [ ! -e \$IB_USER_PROFILE ]; then mkdir -p \$IB_USER_PROFILE; fi
if [ ! -d \$IB_USER_PROFILE ]; then echo "ERROR: \$IB_USER_PROFILE must be a directory!" && echo 1; fi
if [ ! -e \$IB_USER_PROFILE/jts.ini ]; then cp $out/etc/ib/tws/jts.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/jts.ini; fi
${jdk}/bin/java -cp $classpath \$$javaOptions jclient.LoginFrame \$IB_USER_PROFILE
EOF
chmod u+x $out/bin/ib-tws
cat<<EOF > $out/bin/ib-gw
#!$SHELL
if [[ \$1 == /* ]] || [[ \$1 == ./* ]]; then
IB_USER_PROFILE=\`realpath \$1\`
IB_USER_PROFILE_TITLE=\`basename \$1\`
else
if [[ x\$1 != "x" ]] && [[ \$1 != -* ]]; then
IB_USER_PROFILE=\`realpath \$$ibProfileDir\$1\`
IB_USER_PROFILE_TITLE=\$1
else
echo "ERROR: \"\$1\" is not a valid name of a profile."
exit 1
fi
fi
shift
if [ ! -e \$IB_USER_PROFILE ]; then mkdir -p \$IB_USER_PROFILE; fi
if [ ! -d \$IB_USER_PROFILE ]; then echo "ERROR: \$IB_USER_PROFILE must be a directory!" && echo 1; fi
if [ ! -e \$IB_USER_PROFILE/jts.ini ]; then cp $out/etc/ib/tws/jts.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/jts.ini; fi
${jdk}/bin/java -cp $classpath -Dsun.java2d.noddraw=true \$$javaOptions ibgateway.GWClient \$IB_USER_PROFILE
EOF
chmod u+x $out/bin/ib-gw
'';
meta = with lib; {
description = "Trader Work Station of Interactive Brokers";
homepage = "https://www.interactivebrokers.com";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.unfree;
maintainers = [ maintainers.tstrobel ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,73 @@
{ lib, stdenv, fetchurl, makeWrapper, makeDesktopItem, wrapGAppsHook, gtk3, gsettings-desktop-schemas
, zlib , libX11, libXext, libXi, libXrender, libXtst, libGL, alsa-lib, cairo, freetype, pango, gdk-pixbuf, glib }:
stdenv.mkDerivation rec {
version = "5.5";
pname = "jabref";
src = fetchurl {
url = "https://github.com/JabRef/jabref/releases/download/v${version}/JabRef-${version}-portable_linux.tar.gz";
sha256 = "sha256-9MHNehyAmu7CiBp1rgb4zTkSqmjXm2tcmiGKFBFapKI=";
};
preferLocalBuild = true;
desktopItem = makeDesktopItem {
comment = meta.description;
name = "jabref";
desktopName = "JabRef";
genericName = "Bibliography manager";
categories = [ "Office" ];
icon = "jabref";
exec = "jabref";
};
nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
buildInputs = [ gsettings-desktop-schemas ] ++ systemLibs;
systemLibs = [ gtk3 zlib libX11 libXext libXi libXrender libXtst libGL alsa-lib cairo freetype pango gdk-pixbuf glib ];
systemLibPaths = lib.makeLibraryPath systemLibs;
installPhase = ''
mkdir -p $out/share/java $out/share/icons
cp -r lib $out/lib
for f in $out/lib/runtime/bin/j*; do
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${ lib.makeLibraryPath [ zlib ]}:$out/lib/runtime/lib:$out/lib/runtime/lib/server" $f
done
for f in $out/lib/runtime/lib/*.so; do
patchelf \
--set-rpath "${systemLibPaths}:$out/lib/runtime/lib:$out/lib/runtime/lib/server" $f
done
# patching the libs in the JImage runtime image is quite impossible as there is no documented way
# of rebuilding the image after it has been extracted
# the image format itself is "intendedly not documented" - maybe one of the reasons the
# devolpers constantly broke "jimage recreate" and dropped it in OpenJDK 9 Build 116 Early Access
# so, for now just copy the image and provide our lib paths through the wrapper
makeWrapper $out/lib/runtime/bin/java $out/bin/jabref \
--add-flags '-Djava.library.path=${systemLibPaths}' --add-flags "-p $out/lib/app -m org.jabref/org.jabref.JabRefLauncher" \
--prefix LD_LIBRARY_PATH : '${systemLibPaths}'
cp -r ${desktopItem}/share/applications $out/share/
# we still need to unpack the runtime image to get the icon
mkdir unpacked
$out/lib/runtime/bin/jimage extract --dir=./unpacked lib/runtime/lib/modules
cp unpacked/org.jabref/icons/jabref.svg $out/share/icons/jabref.svg
'';
meta = with lib; {
broken = (stdenv.isLinux && stdenv.isAarch64);
description = "Open source bibliography reference manager";
homepage = "https://www.jabref.org";
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = [ maintainers.gebner ];
};
}

View file

@ -0,0 +1,80 @@
{ lib, stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, ant, jdk, jre, gtk2, glib, xorg, Cocoa }:
let
_version = "2.10.2";
_build = "484";
version = "${_version}-${_build}";
swtSystem = if stdenv.hostPlatform.system == "i686-linux" then "linux"
else if stdenv.hostPlatform.system == "x86_64-linux" then "linux64"
else if stdenv.hostPlatform.system == "x86_64-darwin" then "macos64"
else throw "Unsupported system: ${stdenv.hostPlatform.system}";
desktopItem = makeDesktopItem {
name = "jameica";
exec = "jameica";
comment = "Free Runtime Environment for Java Applications.";
desktopName = "Jameica";
genericName = "Jameica";
icon = "jameica";
categories = [ "Office" ];
};
in
stdenv.mkDerivation rec {
pname = "jameica";
inherit version;
nativeBuildInputs = [ ant jdk makeWrapper ];
buildInputs = lib.optionals stdenv.isLinux [ gtk2 glib xorg.libXtst ]
++ lib.optional stdenv.isDarwin Cocoa;
src = fetchFromGitHub {
owner = "willuhn";
repo = "jameica";
rev = "V_${builtins.replaceStrings ["."] ["_"] _version}_BUILD_${_build}";
sha256 = "1x9sybknzsfxp9z0pvw9dx80732ynyap57y03p7xwwjbcrnjla57";
};
# there is also a build.gradle, but it only seems to be used to vendor 3rd party libraries
# and is not able to build the application itself
buildPhase = ''
(cd build; ant -Dsystem.version=${version} init compile jar)
'';
installPhase = ''
mkdir -p $out/libexec $out/lib $out/bin $out/share/{applications,jameica-${version},java}/
# copy libraries except SWT
cp $(find lib -type f -iname '*.jar' | grep -ve 'swt/.*/swt.jar') $out/share/jameica-${version}/
# copy platform-specific SWT
cp lib/swt/${swtSystem}/swt.jar $out/share/jameica-${version}/
install -Dm644 releases/${_version}-*/jameica/jameica.jar $out/share/java/
install -Dm644 plugin.xml $out/share/java/
install -Dm644 build/jameica-icon.png $out/share/pixmaps/jameica.png
cp ${desktopItem}/share/applications/* $out/share/applications/
makeWrapper ${jre}/bin/java $out/bin/jameica \
--add-flags "-cp $out/share/java/jameica.jar:$out/share/jameica-${version}/* ${
lib.optionalString stdenv.isDarwin ''-Xdock:name="Jameica" -XstartOnFirstThread''
} de.willuhn.jameica.Main" \
--prefix LD_LIBRARY_PATH : ${lib.escapeShellArg (lib.makeLibraryPath buildInputs)} \
--chdir "$out/share/java/"
'';
meta = with lib; {
homepage = "https://www.willuhn.de/products/jameica/";
description = "Free Runtime Environment for Java Applications";
longDescription = ''
Runtime Environment for plugins like Hibiscus (HBCI Online Banking),
SynTAX (accounting) and JVerein (club management).
'';
sourceProvenance = with sourceTypes; [
fromSource
binaryBytecode # source bundles dependencies as jars
];
license = licenses.gpl2Plus;
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
maintainers = with maintainers; [ flokli r3dl3g ];
};
}

View file

@ -0,0 +1,74 @@
{ lib
, mkDerivation
, fetchurl
# build-time
, extra-cmake-modules
, shared-mime-info
# Qt
, qtxmlpatterns
, qtwebengine
, qca-qt5
# KDE
, ki18n
, kxmlgui
, kio
, kiconthemes
, kitemviews
, kparts
, kcoreaddons
, kservice
, ktexteditor
, kdoctools
, kwallet
, kcrash
# other
, poppler
, bibutils
}:
mkDerivation rec {
pname = "kbibtex";
version = "0.9.2";
src = fetchurl {
url = "mirror://kde/stable/KBibTeX/${version}/kbibtex-${version}.tar.xz";
sha256 = "09xcdx363z9hps3wbr1kx96a6q6678y8pg8r3apyps4xm7xm31nr";
};
nativeBuildInputs = [
extra-cmake-modules
shared-mime-info
];
buildInputs = [
qtxmlpatterns
qtwebengine
qca-qt5
# TODO qtoauth
ki18n
kxmlgui
kio
kiconthemes
kitemviews
kparts
kcoreaddons
kservice
ktexteditor
kdoctools
kwallet
kcrash
poppler
];
qtWrapperArgs = [
"--prefix" "PATH" ":" "${lib.makeBinPath [ bibutils ]}"
];
meta = with lib; {
description = "Bibliography editor for KDE";
homepage = "https://userbase.kde.org/KBibTeX";
changelog = "https://invent.kde.org/office/kbibtex/-/raw/v${version}/ChangeLog";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ dotlambda ];
};
}

View file

@ -0,0 +1,57 @@
{
mkDerivation, lib, fetchurl, fetchpatch, extra-cmake-modules, kdoctools,
boost, qttools, qtwebkit,
breeze-icons, karchive, kcodecs, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
kcrash, kguiaddons, ki18n, kiconthemes, kitemviews, kio, ktexteditor, ktextwidgets,
kwidgetsaddons, kxmlgui,
kdb, kproperty, kreport, lcms2, libmysqlclient, marble, postgresql
}:
mkDerivation rec {
pname = "kexi";
version = "3.2.0";
src = fetchurl {
url = "mirror://kde/stable/${pname}/src/${pname}-${version}.tar.xz";
sha256 = "1zy1q7q9rfdaws3rwf3my22ywkn6g747s3ixfcg9r80mm2g3z0bs";
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
boost qttools qtwebkit
breeze-icons karchive kcodecs kcompletion kconfig kconfigwidgets kcoreaddons
kcrash kguiaddons ki18n kiconthemes kitemviews kio ktexteditor ktextwidgets
kwidgetsaddons kxmlgui
kdb kproperty kreport lcms2 libmysqlclient marble postgresql
];
propagatedUserEnvPkgs = [ kproperty ];
patches = [
# Changes in Qt 5.13 mean that QDate isn't exported from certain places,
# which the build was relying on. This patch explicitly imports QDate where
# needed.
# Should be unnecessary with kexi >= 3.3
(fetchpatch {
url = "https://cgit.kde.org/kexi.git/patch/src/plugins/forms/widgets/kexidbdatepicker.cpp?id=511d99b7745a6ce87a208bdbf69e631f1f136d53";
sha256 = "0m5cwq2v46gb1b12p7acck6dadvn7sw4xf8lkqikj9hvzq3r1dnj";
})
];
meta = with lib; {
description = "A open source visual database applications creator, a long-awaited competitor for programs like MS Access or Filemaker";
longDescription = ''
Kexi is a visual database applications creator.
It can be used for creating database schemas,
inserting data, performing queries, and processing data.
Forms can be created to provide a custom interface to your data.
All database objects - tables, queries and forms - are stored in the database,
making it easy to share data and design.
'';
homepage = "http://kexi-project.org/";
maintainers = with maintainers; [ zraexy ];
platforms = platforms.linux;
license = with licenses; [ gpl2 lgpl2 ];
};
}

View file

@ -0,0 +1,60 @@
{ lib
, stdenv
, fetchFromGitHub
, nix-update-script
, meson
, ninja
, vala
, pkg-config
, desktop-file-utils
, glib
, gtk4
, json-glib
, libadwaita
, libgee
, wrapGAppsHook4
}:
stdenv.mkDerivation rec {
pname = "khronos";
version = "3.7.0";
src = fetchFromGitHub {
owner = "lainsce";
repo = pname;
rev = version;
sha256 = "sha256-k3U8ICnwMbR6vN+gELWytI2Etri5lvbE6AX6lUpr7dQ=";
};
nativeBuildInputs = [
desktop-file-utils
meson
ninja
vala
pkg-config
wrapGAppsHook4
];
buildInputs = [
glib
gtk4
json-glib
libadwaita
libgee
];
passthru = {
updateScript = nix-update-script {
attrPath = pname;
};
};
meta = with lib; {
description = "Track each task's time in a simple inobtrusive way";
homepage = "https://github.com/lainsce/khronos";
maintainers = with maintainers; [ xiorcale ] ++ teams.pantheon.members;
platforms = platforms.linux;
license = licenses.gpl3Plus;
mainProgram = "io.github.lainsce.Khronos";
};
}

View file

@ -0,0 +1,46 @@
{ lib, stdenv, fetchFromGitHub, qmake, qtbase, qtsvg, poppler, libzip, pkg-config, wrapQtAppsHook }:
stdenv.mkDerivation rec {
pname = "kitsas";
version = "3.1.1";
src = fetchFromGitHub {
owner = "artoh";
repo = "kitupiikki";
rev = "v${version}";
sha256 = "sha256-nmlGLrVsTQawYHNgaax9EiutL4xgFdOD34Q4/rnB/D0=";
};
# QList::swapItemsAt was introduced in Qt 5.13
patches = lib.optional (lib.versionOlder qtbase.version "5.13") ./qt-512.patch;
nativeBuildInputs = [ pkg-config qmake wrapQtAppsHook ];
buildInputs = [ qtsvg poppler libzip ];
# We use a separate build-dir as otherwise ld seems to get confused between
# directory and executable name on buildPhase.
preConfigure = ''
mkdir build && cd build
'';
qmakeFlags = [ "../kitsas/kitsas.pro" ];
installPhase = if stdenv.isDarwin then ''
mkdir -p $out/Applications
mv kitsas.app $out/Applications
'' else ''
install -Dm755 kitsas -t $out/bin
install -Dm644 ../kitsas.svg -t $out/share/icons/hicolor/scalable/apps
install -Dm644 ../kitsas.png -t $out/share/icons/hicolor/256x256/apps
install -Dm644 ../kitsas.desktop -t $out/share/applications
'';
meta = with lib; {
homepage = "https://github.com/artoh/kitupiikki";
description = "An accounting tool suitable for Finnish associations and small business";
maintainers = with maintainers; [ gspia ];
license = licenses.gpl3Plus;
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,24 @@
diff --git i/kitsas/apuri/siirtoapuri.cpp w/kitsas/apuri/siirtoapuri.cpp
index 9a2c51f3..9565200f 100644
--- i/kitsas/apuri/siirtoapuri.cpp
+++ w/kitsas/apuri/siirtoapuri.cpp
@@ -25,6 +25,7 @@
#include "db/tositetyyppimodel.h"
#include "tiliote/tiliotekirjaaja.h"
+#include <QtAlgorithms>
#include <QDebug>
SiirtoApuri::SiirtoApuri(QWidget *parent, Tosite *tosite) :
@@ -361,8 +362,9 @@ void SiirtoApuri::laskunmaksu()
TositeVienti eka = lista.at(0).toMap();
tosite()->asetaPvm(eka.pvm());
tosite()->asetaOtsikko( eka.selite() );
- if( eka.kreditEuro() )
- lista.swapItemsAt(0,1);
+ if( eka.kreditEuro() ) {
+ qSwap(lista.begin()[0], lista.begin()[1]);
+ }
tosite()->viennit()->asetaViennit(lista);
reset();

View file

@ -0,0 +1,71 @@
{ stdenv, lib, fetchurl, doxygen, extra-cmake-modules, graphviz, kdoctools
, wrapQtAppsHook
, akonadi, alkimia, aqbanking, gmp, gwenhywfar, kactivities, karchive
, kcmutils, kcontacts, kdewebkit, kdiagram, kholidays, kidentitymanagement
, kitemmodels, libical, libofx, qgpgme
, sqlcipher
# Needed for running tests:
, qtbase, xvfb-run
, python2, python3Packages
}:
stdenv.mkDerivation rec {
pname = "kmymoney";
version = "5.1.1";
src = fetchurl {
url = "mirror://kde/stable/kmymoney/${version}/src/${pname}-${version}.tar.xz";
sha256 = "sha256-33ufeOhZb5nSgpXKc4cI8GVe4Fd4nf2SHHsbq5ZXgpg=";
};
# Hidden dependency that wasn't included in CMakeLists.txt:
NIX_CFLAGS_COMPILE = "-I${kitemmodels.dev}/include/KF5";
nativeBuildInputs = [
doxygen extra-cmake-modules graphviz kdoctools python2
python3Packages.wrapPython wrapQtAppsHook
];
buildInputs = [
akonadi alkimia aqbanking gmp gwenhywfar kactivities karchive kcmutils
kcontacts kdewebkit kdiagram kholidays kidentitymanagement kitemmodels
libical libofx qgpgme
sqlcipher
# Put it into buildInputs so that CMake can find it, even though we patch
# it into the interface later.
python3Packages.weboob
];
weboobPythonPath = [ python3Packages.weboob ];
postInstall = ''
buildPythonPath "$weboobPythonPath"
patchPythonScript "$out/share/kmymoney/weboob/kmymoneyweboob.py"
# Within the embedded Python interpreter, sys.argv is unavailable, so let's
# assign it to a dummy value so that the assignment of sys.argv[0] injected
# by patchPythonScript doesn't fail:
sed -i -e '1i import sys; sys.argv = [""]' \
"$out/share/kmymoney/weboob/kmymoneyweboob.py"
'';
doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform;
installCheckInputs = [ xvfb-run ];
installCheckPhase =
lib.optionalString doInstallCheck ''
xvfb-run -s '-screen 0 1024x768x24' make test \
ARGS="-E '(reports-chart-test)'" # Test fails, so exclude it for now.
'';
meta = {
description = "Personal finance manager for KDE";
homepage = "https://kmymoney.org/";
platforms = lib.platforms.linux;
license = lib.licenses.gpl2Plus;
};
}

View file

@ -0,0 +1,32 @@
{ mkDerivation, lib, fetchurl, cmake, pkg-config, extra-cmake-modules,
kconfig, kconfigwidgets, kdbusaddons, kdoctools, ki18n, kidletime,
kjobwidgets, kio, knotifications, kwindowsystem, kxmlgui, ktextwidgets,
kcalendarcore
}:
mkDerivation rec {
pname = "ktimetracker";
version = "5.0.1";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
sha256 = "0jp63fby052rapjjaz413b1wjz4qsgpxh82y2d75jzimch0n5s02";
};
nativeBuildInputs = [
cmake pkg-config extra-cmake-modules
];
buildInputs = [
kconfig kconfigwidgets kdbusaddons kdoctools ki18n kidletime kjobwidgets
kio knotifications kwindowsystem kxmlgui ktextwidgets
kcalendarcore
];
meta = with lib; {
description = "Todo management and time tracking application";
license = licenses.gpl2;
homepage = "https://userbase.kde.org/KTimeTracker";
maintainers = with maintainers; [ dtzWill ];
};
}

View file

@ -0,0 +1,67 @@
{ lib
, python3Packages
, fetchFromGitHub
, ledger
, hledger
, useLedger ? true
, useHledger ? true
}:
python3Packages.buildPythonApplication rec {
pname = "ledger-autosync";
version = "1.0.3";
format = "pyproject";
# no tests included in PyPI tarball
src = fetchFromGitHub {
owner = "egh";
repo = "ledger-autosync";
rev = "v${version}";
sha256 = "0n3y4qxsv1cyvyap95h3rj4bj1sinyfgsajygm7s8di3j5aabqr2";
};
nativeBuildInputs = with python3Packages; [
poetry-core
];
propagatedBuildInputs = with python3Packages; [
asn1crypto
beautifulsoup4
cffi
cryptography
entrypoints
fuzzywuzzy
idna
jeepney
keyring
lxml
mock
nose
ofxclient
ofxhome
ofxparse
pbr
pycparser
secretstorage
six
] ++ lib.optional useLedger ledger
++ lib.optional useHledger hledger;
# Checks require ledger as a python package,
# ledger does not support python3 while ledger-autosync requires it.
checkInputs = with python3Packages; [ ledger hledger nose mock pytestCheckHook ];
# Disable some non-passing tests:
# https://github.com/egh/ledger-autosync/issues/127
disabledTests = [
"test_payee_match"
"test_args_only"
];
meta = with lib; {
homepage = "https://github.com/egh/ledger-autosync";
description = "OFX/CSV autosync for ledger and hledger";
license = licenses.gpl3;
maintainers = with maintainers; [ eamsden ];
};
}

View file

@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem 'ledger_web'

View file

@ -0,0 +1,61 @@
GEM
remote: https://rubygems.org/
specs:
backports (3.14.0)
database_cleaner (1.7.0)
diff-lcs (1.3)
directory_watcher (1.5.1)
ledger_web (1.5.2)
database_cleaner
directory_watcher (~> 1.5.1)
pg
rack (>= 1.3.6)
rspec
sequel
sinatra
sinatra-contrib
sinatra-session
multi_json (1.13.1)
mustermann (1.0.3)
pg (1.1.4)
rack (2.0.7)
rack-protection (2.0.5)
rack
rspec (3.8.0)
rspec-core (~> 3.8.0)
rspec-expectations (~> 3.8.0)
rspec-mocks (~> 3.8.0)
rspec-core (3.8.0)
rspec-support (~> 3.8.0)
rspec-expectations (3.8.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.8.0)
rspec-mocks (3.8.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.8.0)
rspec-support (3.8.0)
sequel (5.19.0)
sinatra (2.0.5)
mustermann (~> 1.0)
rack (~> 2.0)
rack-protection (= 2.0.5)
tilt (~> 2.0)
sinatra-contrib (2.0.5)
backports (>= 2.8.2)
multi_json
mustermann (~> 1.0)
rack-protection (= 2.0.5)
sinatra (= 2.0.5)
tilt (>= 1.3, < 3)
sinatra-session (1.0.0)
sinatra (>= 1.0)
tilt (2.0.9)
PLATFORMS
ruby
DEPENDENCIES
ledger_web
BUNDLED WITH
2.1.4

View file

@ -0,0 +1,23 @@
{ lib, bundlerApp, bundlerUpdateScript
, withPostgresql ? true, postgresql
, withSqlite ? false, sqlite
}:
bundlerApp {
pname = "ledger_web";
gemdir = ./.;
exes = [ "ledger_web" ];
buildInputs = lib.optional withPostgresql postgresql
++ lib.optional withSqlite sqlite;
passthru.updateScript = bundlerUpdateScript "ledger-web";
meta = with lib; {
description = "A web frontend to the Ledger CLI tool";
homepage = "https://github.com/peterkeen/ledger-web";
license = licenses.mit;
maintainers = with maintainers; [ peterhoeg manveru nicknovitski ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,211 @@
{
backports = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17j5pf0b69bkn043wi4xd530ky53jbbnljr4bsjzlm4k8bzlknfn";
type = "gem";
};
version = "3.14.0";
};
database_cleaner = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x";
type = "gem";
};
version = "1.7.0";
};
diff-lcs = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
type = "gem";
};
version = "1.3";
};
directory_watcher = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fwc2shba7vks262ind74y3g76qp7znjq5q8b2dvza0yidgywhcq";
type = "gem";
};
version = "1.5.1";
};
ledger_web = {
dependencies = ["database_cleaner" "directory_watcher" "pg" "rack" "rspec" "sequel" "sinatra" "sinatra-contrib" "sinatra-session"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0i4vagaiyayymlr41rsy4lg2cl1r011ib0ql9dgjadfy6imb4kqh";
type = "gem";
};
version = "1.5.2";
};
multi_json = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
type = "gem";
};
version = "1.13.1";
};
mustermann = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lycgkmnyy0bf29nnd2zql5a6pcf8sp69g9v4xw0gcfcxgpwp7i1";
type = "gem";
};
version = "1.0.3";
};
pg = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy";
type = "gem";
};
version = "1.1.4";
};
rack = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i";
type = "gem";
};
version = "2.0.7";
};
rack-protection = {
dependencies = ["rack"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15167q25rmxipqwi6hjqj3i1byi9iwl3xq9b7mdar7qiz39pmjsk";
type = "gem";
};
version = "2.0.5";
};
rspec = {
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3";
type = "gem";
};
version = "3.8.0";
};
rspec-core = {
dependencies = ["rspec-support"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p";
type = "gem";
};
version = "3.8.0";
};
rspec-expectations = {
dependencies = ["diff-lcs" "rspec-support"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1c4gs5ybf7km0qshdm92p38zvg32n1j2kr5fgs2icacz7xf2y6fy";
type = "gem";
};
version = "3.8.3";
};
rspec-mocks = {
dependencies = ["diff-lcs" "rspec-support"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp";
type = "gem";
};
version = "3.8.0";
};
rspec-support = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609";
type = "gem";
};
version = "3.8.0";
};
sequel = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lwkc9kf4jn1x1ph4mgy4saiw2dirq6fhnkpyd0zq8rj1d0nay9a";
type = "gem";
};
version = "5.19.0";
};
sinatra = {
dependencies = ["mustermann" "rack" "rack-protection" "tilt"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1gasgn5f15myv08k10i16p326pchxjsy37pgqfw0xm66kcc5d7ry";
type = "gem";
};
version = "2.0.5";
};
sinatra-contrib = {
dependencies = ["backports" "multi_json" "mustermann" "rack-protection" "sinatra" "tilt"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "093blvpfy5n7s8knaav9a4pm4j7kck9zidwz942qqd4g99fnk443";
type = "gem";
};
version = "2.0.5";
};
sinatra-session = {
dependencies = ["sinatra"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "183xl8i4d2hc03afd1i52gwn2xi3vzrv02g22llhfy5wkmm44gmq";
type = "gem";
};
version = "1.0.0";
};
tilt = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz";
type = "gem";
};
version = "2.0.9";
};
}

View file

@ -0,0 +1,67 @@
{ stdenv, lib, fetchFromGitHub, cmake, boost, gmp, mpfr, libedit, python3
, fetchpatch, installShellFiles, texinfo, gnused, usePython ? true }:
stdenv.mkDerivation rec {
pname = "ledger";
version = "3.2.1";
src = fetchFromGitHub {
owner = "ledger";
repo = "ledger";
rev = "v${version}";
sha256 = "0x6jxwss3wwzbzlwmnwb8yzjk8f9wfawif4f1b74z2qg6hc4r7f6";
};
outputs = [ "out" "dev" "py" ];
buildInputs = [
(boost.override { enablePython = usePython; python = python3; })
gmp mpfr libedit gnused
] ++ lib.optional usePython python3;
nativeBuildInputs = [ cmake texinfo installShellFiles ];
cmakeFlags = [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DBUILD_DOCS:BOOL=ON"
(lib.optionalString usePython "-DUSE_PYTHON=true")
];
# by default, it will query the python interpreter for it's sitepackages location
# however, that would write to a different nixstore path, pass our own sitePackages location
prePatch = lib.optionalString usePython ''
substituteInPlace src/CMakeLists.txt \
--replace 'DESTINATION ''${Python_SITEARCH}' 'DESTINATION "${placeholder "py"}/${python3.sitePackages}"'
'';
patches = [
# Add support for $XDG_CONFIG_HOME. Remove with the next release
(fetchpatch {
url = "https://github.com/ledger/ledger/commit/c79674649dee7577d6061e3d0776922257520fd0.patch";
sha256 = "sha256-vwVQnY9EUCXPzhDJ4PSOmQStb9eF6H0yAOiEmL6sAlk=";
excludes = [ "doc/NEWS.md" ];
})
];
installTargets = [ "doc" "install" ];
postInstall = ''
installShellCompletion --cmd ledger --bash $src/contrib/ledger-completion.bash
'';
meta = with lib; {
homepage = "https://ledger-cli.org/";
description = "A double-entry accounting system with a command-line reporting interface";
license = licenses.bsd3;
longDescription = ''
Ledger is a powerful, double-entry accounting system that is accessed
from the UNIX command-line. This may put off some users, as there is
no flashy UI, but for those who want unparalleled reporting access to
their data, there really is no alternative.
'';
platforms = platforms.all;
maintainers = with maintainers; [ jwiegley marsam ];
};
}

View file

@ -0,0 +1,9 @@
LibreOffice
===========
To generate `src-$VARIANT/download.nix`, i.e. list of additional sources that
the libreoffice build process needs to download:
nix-shell gen-shell.nix --argstr variant VARIANT --run generate
Where VARIANT is either `still` or `fresh`.

View file

@ -0,0 +1,80 @@
{ stdenvNoCC
, lib
, fetchurl
, undmg
, writeScript
, callPackage
}:
let
appName = "LibreOffice.app";
scriptName = "soffice";
version = "7.3.3";
dist = {
aarch64-darwin = rec {
arch = "aarch64";
archSuffix = arch;
url = "https://download.documentfoundation.org/libreoffice/stable/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg";
sha256 = "50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863";
};
x86_64-darwin = rec {
arch = "x86_64";
archSuffix = "x86-64";
url = "https://download.documentfoundation.org/libreoffice/stable/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg";
sha256 = "fb2f9bb90eee34a22af3a2bf2854ef5b76098302b3c41d13d4f543f0d72b994f";
};
};
in
stdenvNoCC.mkDerivation {
inherit version;
pname = "libreoffice";
src = fetchurl {
inherit (dist.${stdenvNoCC.hostPlatform.system} or
(throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}")) url sha256;
};
nativeBuildInputs = [ undmg ];
sourceRoot = "${appName}";
installPhase = ''
runHook preInstall
mkdir -p $out/{Applications/${appName},bin}
cp -R . $out/Applications/${appName}
cat > $out/bin/${scriptName} << EOF
#!${stdenvNoCC.shell}
open -na $out/Applications/${appName} --args "$@"
EOF
chmod +x $out/bin/${scriptName}
runHook postInstall
'';
passthru.updateScript =
let
defaultNixFile = builtins.toString ./default.nix;
updateNix = builtins.toString ./update.nix;
aarch64Url = dist."aarch64-darwin".url;
x86_64Url = dist."x86_64-darwin".url;
in
writeScript "update-libreoffice.sh"
''
#!/usr/bin/env nix-shell
#!nix-shell -i bash --argstr aarch64Url ${aarch64Url} --argstr x86_64Url ${x86_64Url} --argstr version ${version} ${updateNix}
set -eou pipefail
# reset version first so that both platforms are always updated and in sync
update-source-version libreoffice-bin 0 ${lib.fakeSha256} --file=${defaultNixFile} --system=aarch64-darwin
update-source-version libreoffice-bin $newVersion $newAarch64Sha256 --file=${defaultNixFile} --system=aarch64-darwin
update-source-version libreoffice-bin 0 ${lib.fakeSha256} --file=${defaultNixFile} --system=x86_64-darwin
update-source-version libreoffice-bin $newVersion $newX86_64Sha256 --file=${defaultNixFile} --system=x86_64-darwin
'';
meta = with lib; {
description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org";
homepage = "https://libreoffice.org/";
license = licenses.lgpl3;
maintainers = with maintainers; [ tricktron ];
platforms = [ "x86_64-darwin" "aarch64-darwin" ];
};
}

View file

@ -0,0 +1,50 @@
# run the tests with nixt <absolutePath to parent dir> -v
{ pkgs ? import <nixpkgs> { }, nixt }:
let
inherit (import ./update-utils.nix { inherit (pkgs) lib; })
extractLatestVersionFromHtml
extractSha256FromHtml
getLatestStableVersion;
in
nixt.mkSuite "LibreOffice Updater"
{
"should extract latest stable version from html" =
let
latestVersionHtmlMock =
''
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Index of /libreoffice/stable</title>
<link rel="stylesheet" href="/mirrorbrain.css" type="text/css" />
</head>
<body>
<h1>Index of /libreoffice/stable</h1>
<table><tr><th>&nbsp;</th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th>Metadata</th></tr><tr><th colspan="5"><hr /></th></tr>
<tr><td valign="top">&nbsp;</td><td><a href="/libreoffice/">Parent Directory</a></td><td>&nbsp;</td><td align="right"> - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="7.2.7/">7.2.7/</a></td><td align="right">10-Mar-2022 11:12 </td><td align="right"> - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="7.3.3/">7.3.3/</a></td><td align="right">12-May-2022 10:06 </td><td align="right"> - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="7.2.6/">7.2.6/</a></td><td align="right">05-May-2022 07:57 </td><td align="right"> - </td><td>&nbsp;</td></tr>
<tr><th colspan="5"><hr /></th></tr>
</table>
<address>Apache Server at <a href="mailto:hostmaster@documentfoundation.org">download.documentfoundation.org</a> Port 80</address>
<br/><address><a href="http://mirrorbrain.org/">MirrorBrain</a> powered by <a href="http://httpd.apache.org/">Apache</a></address>
</body></html>
'';
actual = extractLatestVersionFromHtml latestVersionHtmlMock;
in
"7.3.3" == actual;
"should extract latest stable version from website" = (builtins.compareVersions getLatestStableVersion "7.3.3") >= 0;
"should extract sha256 from html" =
let
sha256Html = "50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863 LibreOffice_7.3.3_MacOS_aarch64.dmg\n";
actual = extractSha256FromHtml sha256Html;
in
"50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863" == actual;
}

View file

@ -0,0 +1,51 @@
{ lib }:
let
# extractLatestVersionFromHtml :: String -> String
extractLatestVersionFromHtml = htmlString:
let
majorMinorPatchGroup = "([0-9]+\\.[0-9]+\\.[0-9]+)";
splittedVersions = builtins.split "href=\"${majorMinorPatchGroup}" htmlString;
stableVersions = builtins.concatLists
(builtins.filter (e: builtins.isList e)
splittedVersions);
in
if stableVersions == [ ]
then abort "Failed to extract versions from html."
else lib.last (builtins.sort builtins.lessThan stableVersions);
# getHtml :: String -> String
getHtml = url:
builtins.readFile (builtins.fetchurl url);
# getLatestStableVersion :: String
getLatestStableVersion =
extractLatestVersionFromHtml
(getHtml "https://download.documentfoundation.org/libreoffice/stable/");
# extractSha256FromHtml :: String -> String
extractSha256FromHtml = htmlString:
let
sha256 = (builtins.match ".*([0-9a-fA-F]{64}).*" htmlString);
in
if sha256 == [ ]
then abort "Failed to extract sha256 from html."
else builtins.head sha256;
# getSha256 :: String -> String
getSha256 = dmgUrl: oldVersion: newVersion:
extractSha256FromHtml (getHtml (getSha256Url dmgUrl oldVersion newVersion));
# getSha256Url :: String -> String -> String -> String
getSha256Url = dmgUrl: oldVersion: newVersion:
(builtins.replaceStrings [ oldVersion ] [ newVersion ] dmgUrl) + ".sha256";
in
{
inherit
extractLatestVersionFromHtml
getHtml
getLatestStableVersion
extractSha256FromHtml
getSha256
getSha256Url;
}

View file

@ -0,0 +1,18 @@
# Impure functions, for passthru.updateScript runtime only
{ aarch64Url
, x86_64Url
, version
, pkgs ? import ../../../../../default.nix { }
,
}:
let
inherit (import ./update-utils.nix { inherit (pkgs) lib; })
getLatestStableVersion
getSha256;
in
pkgs.mkShell rec {
buildInputs = [ pkgs.common-updater-scripts ];
newVersion = getLatestStableVersion;
newAarch64Sha256 = getSha256 aarch64Url version newVersion;
newX86_64Sha256 = getSha256 x86_64Url version newVersion;
}

View 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; }))

View file

@ -0,0 +1,3 @@
source $stdenv/setup
tar --extract --file=$src libreoffice-$version/download.lst -O > $out

View file

@ -0,0 +1,29 @@
{ pkgs ? (import <nixpkgs> {}), variant }:
with pkgs;
let
primary-src = callPackage (./. + "/src-${variant}/primary.nix") {};
in
stdenv.mkDerivation {
name = "generate-libreoffice-srcs-shell";
buildCommand = "exit 1";
downloadList = stdenv.mkDerivation {
name = "libreoffice-${primary-src.version}-download-list";
inherit (primary-src) src version;
builder = ./download-list-builder.sh;
};
buildInputs = [ python3 ];
shellHook = ''
function generate {
python3 generate-libreoffice-srcs.py ${variant} > src-${variant}/download.nix
}
'';
}

View file

@ -0,0 +1,328 @@
#!/usr/bin/env python3
"""
Converts the LibreOffice `download.lst` file into a Nix expression.
Requires an environment variable named `downloadList` identifying the path
of the input file, and writes the result to stdout.
todo - Ideally we would move as much as possible into derivation dependencies.
"""
import collections, itertools, json, re, subprocess, sys, os
def main():
packages = list(get_packages())
for x in packages:
print(x, file=sys.stderr)
print('[')
for x in packages:
md5 = x['md5']
upstream_sha256 = x['sha256']
if upstream_sha256:
hash = upstream_sha256
hashtype = 'sha256'
else:
hash = md5
hashtype = 'md5'
tarball = x['tarball']
url = construct_url(x)
print('url: {}'.format(url), file=sys.stderr)
path = download(url, tarball, hash, hashtype)
print('path: {}'.format(path), file=sys.stderr)
sha256 = get_sha256(path)
print('sha256: {}'.format(sha256), file=sys.stderr)
print(' {')
print(' name = "{}";'.format(tarball))
print(' url = "{}";'.format(url))
print(' sha256 = "{}";'.format(sha256))
print(' md5 = "{}";'.format(md5))
print(' md5name = "{}-{}";'.format(md5 or upstream_sha256,tarball))
print(' }')
print(']')
def construct_url(x):
if x['brief']:
return 'https://dev-www.libreoffice.org/src/{}{}'.format(
x.get('subdir', ''), x['tarball'])
else:
return 'https://dev-www.libreoffice.org/src/{}{}-{}'.format(
x.get('subdir', ''), x['md5'], x['tarball'])
def download(url, name, hash, hashtype):
cmd = ['nix-prefetch-url', url, hash, '--print-path',
'--type', hashtype, '--name', name]
proc = subprocess.run(cmd, stdout=subprocess.PIPE, check=True,
universal_newlines=True)
return proc.stdout.split('\n')[1].strip()
def get_sha256(path):
cmd = ['sha256sum', path]
proc = subprocess.run(cmd, stdout=subprocess.PIPE, check=True,
universal_newlines=True)
return proc.stdout.split(' ')[0].strip()
def get_packages():
"""
All of the package data: What's parsed from download.lst,
plus our additions.
"""
return apply_additions(get_packages_from_download_list(),
get_additions())
def get_additions():
"""
A mapping from package name (the all-caps identifiers used in
`download.lst`) to a dict of additional attributes to set on the package.
"""
with open('./libreoffice-srcs-additions.json') as f:
return json.load(f)
def apply_additions(xs, additions):
for x in xs:
yield dict_merge([x,
additions.get(x['name'], {})])
def get_packages_from_download_list():
"""
The result of parsing `download.lst`: A list of dicts containing keys
'name', 'tarball', 'md5', 'brief'.
"""
def lines():
for x in sub_symbols(parse_lines(get_lines())):
interpretation = interpret(x)
if interpretation == 'unrecognized':
print_skipped_line(x)
else:
yield dict_merge([x,
interpretation])
def cluster(xs):
"""
Groups lines according to their order within the file, to support
packages that are listed in `download.lst` more than once.
"""
keys = ['tarball', 'md5', 'sha256', 'brief']
a = {k: [x for x in xs if k in x['attrs']] for k in keys}
return zip(*[a[k] for k in keys])
def packages():
for (name, group) in groupby(lines(), lambda x: x['name']):
for xs in cluster(group):
yield {'name': name,
'attrs': dict_merge(x['attrs'] for x in xs),
'index': min(x['index'] for x in xs)}
for x in sorted(packages(), key=lambda x: x['index']):
yield dict_merge([{'name': x['name']},
x['attrs']])
def dict_merge(xs):
"""
>>> dict_merge([{1: 2}, {3: 4}, {3: 5}])
{1: 2, 3: 4}
"""
return dict(collections.ChainMap(*xs))
def groupby(xs, f):
"""
>>> groupby([1, 2, 3, 4], lambda x: x % 2)
[(0, [2, 4]), (1, [1, 3])]
"""
for (k, iter) in itertools.groupby(sorted(xs, key=f), f):
group = list(iter)
yield (f(group[0]), group)
def get_lines():
download_list = os.getenv('downloadList')
with open(download_list) as f:
return f.read().splitlines()
def print_skipped_line(x):
print('Skipped line {}: {}'.format(x['index'],
x['original']),
file=sys.stderr)
def parse_lines(lines):
"""
Input: List of strings (the lines from `download.lst`
Output: Iterator of dicts with keys 'key', 'value', and 'index'
"""
for (index, line) in enumerate(lines):
x = { 'index': index, 'original': line }
result = parse_line(line)
if result == 'nothing':
pass
elif result == 'unrecognized':
print_skipped_line(x)
else:
yield dict_merge([x,
result])
def parse_line(line):
"""
Input: A string
Output: One of 1. A dict with keys 'key', 'value'
2. 'nothing' (if the line contains no information)
2. 'unrecognized' (if parsing failed)
"""
if re.match('\s*(#.*)?$', line):
return 'nothing'
match = re.match('\s*export\s+([^:\s]+)\s*:=\s*(.*)$', line)
if match:
return {
'key': match.group(1),
'value': match.group(2).strip()
}
else:
return 'unrecognized'
def sub_symbols(xs):
"""
Do substitution of variables across all lines.
>>> sub_symbols([{'key': 'a', 'value': 'x'},
... {'key': 'c': 'value': '$(a)yz'}])
[{'key': 'a', 'value': 'x'}, {'key': 'c': 'value': 'xyz'}]
"""
xs = list(xs)
symbols = {x['key']: x for x in xs}
def get_value(k):
x = symbols.get(k)
return x['value'] if x is not None else ''
for x in xs:
yield dict_merge([{'value': sub_str(x['value'], get_value)},
x])
def sub_str(string, func):
"""
Do substitution of variables in a single line.
>>> sub_str("x = $(x)", lambda k: {'x': 'a'}[k])
"x = a"
"""
def func2(m):
x = m.group(1)
result = func(x)
return result if result is not None else x
return re.sub(r'\$\(([^\$\(\)]+)\)', func2, string)
def interpret(x):
"""
Input: Dict with keys 'key' and 'value'
Output: One of 1. Dict with keys 'name' and 'attrs'
2. 'unrecognized' (if interpretation failed)
"""
for f in [interpret_md5, interpret_sha256, interpret_tarball_with_md5, interpret_tarball, interpret_jar]:
result = f(x)
if result is not None:
return result
return 'unrecognized'
def interpret_md5(x):
"""
>>> interpret_md5("ODFGEN_MD5SUM", "32572ea48d9021bbd6fa317ddb697abc")
{'name': 'ODFGEN', 'attrs': {'md5': '32572ea48d9021bbd6fa317ddb697abc'}}
"""
match = re.match('^(.*)_MD5SUM$', x['key'])
if match:
return {'name': match.group(1),
'attrs': {'md5': x['value'], 'sha256': ''}}
def interpret_sha256(x):
match = re.match('^(.*)_SHA256SUM$', x['key'])
if match:
return {'name': match.group(1),
'attrs': {'sha256': x['value'], 'md5': ''}}
def interpret_tarball(x):
"""
>>> interpret_tarball("FREEHAND_TARBALL", "libfreehand-0.1.1.tar.bz2")
{'name': 'FREEHAND',
'attrs': {'tarball': 'libfreehand-0.1.1.tar.bz2', 'brief': True}}
"""
match = re.match('^(.*)_TARBALL$', x['key'])
if match:
return {'name': match.group(1),
'attrs': {'tarball': x['value'], 'brief': True}}
def interpret_jar(x):
match = re.match('^(.*)_JAR$', x['key'])
if match:
return {'name': match.group(1),
'attrs': {'tarball': x['value'], 'brief': True}}
def interpret_tarball_with_md5(x):
"""
>>> interpret_tarball_with_md5("CLUCENE_TARBALL",\
"48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz")
{'name': 'CLUCENE',
'attrs': {'tarball': 'clucene-core-2.3.3.4.tar.gz',
'md5': '48d647fbd8ef8889e5a7f422c1bfda94', 'brief': False}}
"""
match = {'key': re.match('^(.*)_(TARBALL|JAR)$', x['key']),
'value': re.match('(?P<md5>[0-9a-fA-F]{32})-(?P<tarball>.+)$',
x['value'])}
if match['key'] and match['value']:
return {'name': match['key'].group(1),
'attrs': {'tarball': match['value'].group('tarball'),
'md5': match['value'].group('md5'),
'sha256': '',
'brief': False}}
main()

View file

@ -0,0 +1,5 @@
{
"LIBGLTF": {"subdir": "libgltf/"},
"ODFVALIDATOR": {"subdir": "../extern/"},
"OFFICEOTRON": {"subdir": "../extern/"}
}

View file

@ -0,0 +1,100 @@
Patch from OpenSUSE
https://build.opensuse.org/package/view_file/LibreOffice:Factory/libreoffice/poppler-22-04-0.patch?expand=1&rev=45e176f964509ebe3560d0dbf1ec8be9
Index: libreoffice-7.3.3.1/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
===================================================================
--- libreoffice-7.3.3.1.orig/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ libreoffice-7.3.3.1/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -474,12 +474,21 @@ int PDFOutDev::parseFont( long long nNew
{
// TODO(P3): Unfortunately, need to read stream twice, since
// we must write byte count to stdout before
+#if POPPLER_CHECK_VERSION(22, 04, 0) // readEmbFontFile signature changed
+ auto pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef());
+ if ( pBuf )
+ {
+ aNewFont.isEmbedded = true;
+ nSize = pBuf->size();
+ }
+#else
char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize );
if( pBuf )
{
aNewFont.isEmbedded = true;
gfree(pBuf);
}
+#endif
}
m_aFontMap[ nNewId ] = aNewFont;
@@ -492,21 +501,35 @@ void PDFOutDev::writeFontFile( GfxFont*
return;
int nSize = 0;
+#if POPPLER_CHECK_VERSION(22, 04, 0) // readEmbFontFile signature changed
+ auto pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef());
+ if ( !pBuf )
+ return;
+ nSize = pBuf->size();
+#else
char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize );
if( !pBuf )
return;
+#endif
// ---sync point--- see SYNC STREAMS above
fflush(stdout);
+#if POPPLER_CHECK_VERSION(22, 04, 0) // readEmbFontFile signature changed
+ if( fwrite(pBuf->data(), sizeof(unsigned char), nSize, g_binary_out) != static_cast<size_t>(nSize) )
+ {
+#else
if( fwrite(pBuf, sizeof(char), nSize, g_binary_out) != static_cast<size_t>(nSize) )
{
gfree(pBuf);
+#endif
exit(1); // error
}
// ---sync point--- see SYNC STREAMS above
fflush(g_binary_out);
+#if !POPPLER_CHECK_VERSION(22, 04, 0) // readEmbFontFile signature changed
gfree(pBuf);
+#endif
}
#if POPPLER_CHECK_VERSION(0, 83, 0)
@@ -759,7 +782,11 @@ void PDFOutDev::updateFont(GfxState *sta
{
assert(state);
+#if POPPLER_CHECK_VERSION(22, 04, 0)
+ std::shared_ptr<GfxFont> gfxFont = state->getFont();
+#else
GfxFont *gfxFont = state->getFont();
+#endif
if( !gfxFont )
return;
@@ -776,7 +803,11 @@ void PDFOutDev::updateFont(GfxState *sta
m_aFontMap.find( fontID );
if( it == m_aFontMap.end() )
{
+#if POPPLER_CHECK_VERSION(22, 04, 0)
+ nEmbedSize = parseFont( fontID, gfxFont.get(), state );
+#else
nEmbedSize = parseFont( fontID, gfxFont, state );
+#endif
it = m_aFontMap.find( fontID );
}
@@ -806,7 +837,11 @@ void PDFOutDev::updateFont(GfxState *sta
if (nEmbedSize)
{
+#if POPPLER_CHECK_VERSION(22, 04, 0)
+ writeFontFile(gfxFont.get());
+#else
writeFontFile(gfxFont);
+#endif
}
}

View file

@ -0,0 +1,29 @@
--- a/i18npool/qa/cppunit/test_breakiterator.cxx
+++ b/i18npool/qa/cppunit/test_breakiterator.cxx
@@ -35,7 +35,7 @@ public:
void testWeak();
void testAsian();
void testThai();
-#if (U_ICU_VERSION_MAJOR_NUM > 51)
+#if (U_ICU_VERSION_MAJOR_NUM > 51 && U_ICU_VERSION_MAJOR_NUM < 70)
void testLao();
#ifdef TODO
void testNorthernThai();
@@ -52,7 +52,7 @@ public:
CPPUNIT_TEST(testWeak);
CPPUNIT_TEST(testAsian);
CPPUNIT_TEST(testThai);
-#if (U_ICU_VERSION_MAJOR_NUM > 51)
+#if (U_ICU_VERSION_MAJOR_NUM > 51 && U_ICU_VERSION_MAJOR_NUM < 70)
CPPUNIT_TEST(testLao);
#ifdef TODO
CPPUNIT_TEST(testKhmer);
@@ -843,7 +843,7 @@ void TestBreakIterator::testAsian()
}
}
-#if (U_ICU_VERSION_MAJOR_NUM > 51)
+#if (U_ICU_VERSION_MAJOR_NUM > 51 && U_ICU_VERSION_MAJOR_NUM < 70)
//A test to ensure that our Lao word boundary detection is useful
void TestBreakIterator::testLao()
{

View file

@ -0,0 +1,6 @@
[Desktop Entry]
Name=LibreOffice @app@...
Comment=Enter LibreOffice @app@ filename:
Type=Link
URL=.source/soffice.@ext@
Icon=libreoffice-oasis-@type@

View file

@ -0,0 +1,891 @@
[
{
name = "libabw-0.1.3.tar.xz";
url = "https://dev-www.libreoffice.org/src/libabw-0.1.3.tar.xz";
sha256 = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed";
md5 = "";
md5name = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed-libabw-0.1.3.tar.xz";
}
{
name = "apr-1.5.2.tar.gz";
url = "https://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz";
sha256 = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb";
md5 = "";
md5name = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb-apr-1.5.2.tar.gz";
}
{
name = "apr-util-1.5.4.tar.gz";
url = "https://dev-www.libreoffice.org/src/apr-util-1.5.4.tar.gz";
sha256 = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19";
md5 = "";
md5name = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19-apr-util-1.5.4.tar.gz";
}
{
name = "boost_1_77_0.tar.xz";
url = "https://dev-www.libreoffice.org/src/boost_1_77_0.tar.xz";
sha256 = "9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e";
md5 = "";
md5name = "9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e-boost_1_77_0.tar.xz";
}
{
name = "box2d-2.3.1.tar.gz";
url = "https://dev-www.libreoffice.org/src/box2d-2.3.1.tar.gz";
sha256 = "58ffc8475a8650aadc351345aef696937747b40501ab78d72c197c5ff5b3035c";
md5 = "";
md5name = "58ffc8475a8650aadc351345aef696937747b40501ab78d72c197c5ff5b3035c-box2d-2.3.1.tar.gz";
}
{
name = "breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz";
url = "https://dev-www.libreoffice.org/src/breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz";
sha256 = "c44a2e898895cfc13b42d2371ba4b88b0777d7782214d6cdc91c33720f3b0d91";
md5 = "";
md5name = "c44a2e898895cfc13b42d2371ba4b88b0777d7782214d6cdc91c33720f3b0d91-breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz";
}
{
name = "bsh-2.0b6-src.zip";
url = "https://dev-www.libreoffice.org/src/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip";
sha256 = "9e93c73e23aff644b17dfff656444474c14150e7f3b38b19635e622235e01c96";
md5 = "beeca87be45ec87d241ddd0e1bad80c1";
md5name = "beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip";
}
{
name = "bzip2-1.0.8.tar.gz";
url = "https://dev-www.libreoffice.org/src/bzip2-1.0.8.tar.gz";
sha256 = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269";
md5 = "";
md5name = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269-bzip2-1.0.8.tar.gz";
}
{
name = "cairo-1.17.4.tar.xz";
url = "https://dev-www.libreoffice.org/src/cairo-1.17.4.tar.xz";
sha256 = "74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705";
md5 = "";
md5name = "74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705-cairo-1.17.4.tar.xz";
}
{
name = "libcdr-0.1.7.tar.xz";
url = "https://dev-www.libreoffice.org/src/libcdr-0.1.7.tar.xz";
sha256 = "5666249d613466b9aa1e987ea4109c04365866e9277d80f6cd9663e86b8ecdd4";
md5 = "";
md5name = "5666249d613466b9aa1e987ea4109c04365866e9277d80f6cd9663e86b8ecdd4-libcdr-0.1.7.tar.xz";
}
{
name = "clucene-core-2.3.3.4.tar.gz";
url = "https://dev-www.libreoffice.org/src/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz";
sha256 = "ddfdc433dd8ad31b5c5819cc4404a8d2127472a3b720d3e744e8c51d79732eab";
md5 = "48d647fbd8ef8889e5a7f422c1bfda94";
md5name = "48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz";
}
{
name = "dtoa-20180411.tgz";
url = "https://dev-www.libreoffice.org/src/dtoa-20180411.tgz";
sha256 = "0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4";
md5 = "";
md5name = "0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4-dtoa-20180411.tgz";
}
{
name = "libcmis-0.5.2.tar.xz";
url = "https://dev-www.libreoffice.org/src/libcmis-0.5.2.tar.xz";
sha256 = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2";
md5 = "";
md5name = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2-libcmis-0.5.2.tar.xz";
}
{
name = "CoinMP-1.7.6.tgz";
url = "https://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz";
sha256 = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f";
md5 = "";
md5name = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f-CoinMP-1.7.6.tgz";
}
{
name = "cppunit-1.15.1.tar.gz";
url = "https://dev-www.libreoffice.org/src/cppunit-1.15.1.tar.gz";
sha256 = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7";
md5 = "";
md5name = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7-cppunit-1.15.1.tar.gz";
}
{
name = "converttexttonumber-1-5-0.oxt";
url = "https://dev-www.libreoffice.org/src/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
sha256 = "71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3";
md5 = "1f467e5bb703f12cbbb09d5cf67ecf4a";
md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
}
{
name = "curl-7.79.1.tar.xz";
url = "https://dev-www.libreoffice.org/src/curl-7.79.1.tar.xz";
sha256 = "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689";
md5 = "";
md5name = "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689-curl-7.79.1.tar.xz";
}
{
name = "libe-book-0.1.3.tar.xz";
url = "https://dev-www.libreoffice.org/src/libe-book-0.1.3.tar.xz";
sha256 = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9";
md5 = "";
md5name = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9-libe-book-0.1.3.tar.xz";
}
{
name = "libepoxy-1.5.9.tar.xz";
url = "https://dev-www.libreoffice.org/src/libepoxy-1.5.9.tar.xz";
sha256 = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4";
md5 = "";
md5name = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4-libepoxy-1.5.9.tar.xz";
}
{
name = "epm-3.7.tar.gz";
url = "https://dev-www.libreoffice.org/src/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz";
sha256 = "b3fc4c5445de6c9a801504a3ea3efb2d4ea9d5a622c9427e716736e7713ddb91";
md5 = "3ade8cfe7e59ca8e65052644fed9fca4";
md5name = "3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz";
}
{
name = "libepubgen-0.1.1.tar.xz";
url = "https://dev-www.libreoffice.org/src/libepubgen-0.1.1.tar.xz";
sha256 = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad";
md5 = "";
md5name = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad-libepubgen-0.1.1.tar.xz";
}
{
name = "libetonyek-0.1.10.tar.xz";
url = "https://dev-www.libreoffice.org/src/libetonyek-0.1.10.tar.xz";
sha256 = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a";
md5 = "";
md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
}
{
name = "expat-2.4.6.tar.xz";
url = "https://dev-www.libreoffice.org/src/expat-2.4.6.tar.xz";
sha256 = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b";
md5 = "";
md5name = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b-expat-2.4.6.tar.xz";
}
{
name = "Firebird-3.0.7.33374-0.tar.bz2";
url = "https://dev-www.libreoffice.org/src/Firebird-3.0.7.33374-0.tar.bz2";
sha256 = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76";
md5 = "";
md5name = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76-Firebird-3.0.7.33374-0.tar.bz2";
}
{
name = "fontconfig-2.13.94.tar.xz";
url = "https://dev-www.libreoffice.org/src/fontconfig-2.13.94.tar.xz";
sha256 = "a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c";
md5 = "";
md5name = "a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c-fontconfig-2.13.94.tar.xz";
}
{
name = "crosextrafonts-20130214.tar.gz";
url = "https://dev-www.libreoffice.org/src/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz";
sha256 = "c48d1c2fd613c9c06c959c34da7b8388059e2408d2bb19845dc3ed35f76e4d09";
md5 = "368f114c078f94214a308a74c7e991bc";
md5name = "368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz";
}
{
name = "crosextrafonts-carlito-20130920.tar.gz";
url = "https://dev-www.libreoffice.org/src/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz";
sha256 = "4bd12b6cbc321c1cf16da76e2c585c925ce956a08067ae6f6c64eff6ccfdaf5a";
md5 = "c74b7223abe75949b4af367942d96c7a";
md5name = "c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz";
}
{
name = "dejavu-fonts-ttf-2.37.zip";
url = "https://dev-www.libreoffice.org/src/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
sha256 = "7576310b219e04159d35ff61dd4a4ec4cdba4f35c00e002a136f00e96a908b0a";
md5 = "33e1e61fab06a547851ed308b4ffef42";
md5name = "33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
}
{
name = "GentiumBasic_1102.zip";
url = "https://dev-www.libreoffice.org/src/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
sha256 = "2f1a2c5491d7305dffd3520c6375d2f3e14931ee35c6d8ae1e8f098bf1a7b3cc";
md5 = "1725634df4bb3dcb1b2c91a6175f8789";
md5name = "1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
}
{
name = "liberation-narrow-fonts-ttf-1.07.6.tar.gz";
url = "https://dev-www.libreoffice.org/src/liberation-narrow-fonts-ttf-1.07.6.tar.gz";
sha256 = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3";
md5 = "";
md5name = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3-liberation-narrow-fonts-ttf-1.07.6.tar.gz";
}
{
name = "liberation-fonts-ttf-2.1.4.tar.gz";
url = "https://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.1.4.tar.gz";
sha256 = "26f85412dd0aa9d061504a1cc8aaf0aa12a70710e8d47d8b65a1251757c1a5ef";
md5 = "";
md5name = "26f85412dd0aa9d061504a1cc8aaf0aa12a70710e8d47d8b65a1251757c1a5ef-liberation-fonts-ttf-2.1.4.tar.gz";
}
{
name = "LinLibertineG-20120116.zip";
url = "https://dev-www.libreoffice.org/src/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
sha256 = "54adcb2bc8cac0927a647fbd9362f45eff48130ce6e2379dc3867643019e08c5";
md5 = "e7a384790b13c29113e22e596ade9687";
md5name = "e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
}
{
name = "source-code-pro-2.030R-ro-1.050R-it.tar.gz";
url = "https://dev-www.libreoffice.org/src/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz";
sha256 = "09466dce87653333f189acd8358c60c6736dcd95f042dee0b644bdcf65b6ae2f";
md5 = "907d6e99f241876695c19ff3db0b8923";
md5name = "907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz";
}
{
name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
url = "https://dev-www.libreoffice.org/src/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
sha256 = "e7bc9a1fec787a529e49f5a26b93dcdcf41506449dfc70f92cdef6d17eb6fb61";
md5 = "edc4d741888bc0d38e32dbaa17149596";
md5name = "edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
}
{
name = "source-serif-pro-3.000R.tar.gz";
url = "https://dev-www.libreoffice.org/src/source-serif-pro-3.000R.tar.gz";
sha256 = "826a2b784d5cdb4c2bbc7830eb62871528360a61a52689c102a101623f1928e3";
md5 = "";
md5name = "826a2b784d5cdb4c2bbc7830eb62871528360a61a52689c102a101623f1928e3-source-serif-pro-3.000R.tar.gz";
}
{
name = "EmojiOneColor-SVGinOT-1.3.tar.gz";
url = "https://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz";
sha256 = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7";
md5 = "";
md5name = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7-EmojiOneColor-SVGinOT-1.3.tar.gz";
}
{
name = "noto-fonts-20171024.tar.gz";
url = "https://dev-www.libreoffice.org/src/noto-fonts-20171024.tar.gz";
sha256 = "29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994";
md5 = "";
md5name = "29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994-noto-fonts-20171024.tar.gz";
}
{
name = "culmus-0.133.tar.gz";
url = "https://dev-www.libreoffice.org/src/culmus-0.133.tar.gz";
sha256 = "c0c6873742d07544f6bacf2ad52eb9cb392974d56427938dc1dfbc8399c64d05";
md5 = "";
md5name = "c0c6873742d07544f6bacf2ad52eb9cb392974d56427938dc1dfbc8399c64d05-culmus-0.133.tar.gz";
}
{
name = "libre-hebrew-1.0.tar.gz";
url = "https://dev-www.libreoffice.org/src/libre-hebrew-1.0.tar.gz";
sha256 = "f596257c1db706ce35795b18d7f66a4db99d427725f20e9384914b534142579a";
md5 = "";
md5name = "f596257c1db706ce35795b18d7f66a4db99d427725f20e9384914b534142579a-libre-hebrew-1.0.tar.gz";
}
{
name = "alef-1.001.tar.gz";
url = "https://dev-www.libreoffice.org/src/alef-1.001.tar.gz";
sha256 = "b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52";
md5 = "";
md5name = "b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52-alef-1.001.tar.gz";
}
{
name = "Amiri-0.111.zip";
url = "https://dev-www.libreoffice.org/src/Amiri-0.111.zip";
sha256 = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166";
md5 = "";
md5name = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166-Amiri-0.111.zip";
}
{
name = "ttf-kacst_2.01+mry.tar.gz";
url = "https://dev-www.libreoffice.org/src/ttf-kacst_2.01+mry.tar.gz";
sha256 = "dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56";
md5 = "";
md5name = "dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56-ttf-kacst_2.01+mry.tar.gz";
}
{
name = "ReemKufi-0.7.zip";
url = "https://dev-www.libreoffice.org/src/ReemKufi-0.7.zip";
sha256 = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f";
md5 = "";
md5name = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f-ReemKufi-0.7.zip";
}
{
name = "Scheherazade-2.100.zip";
url = "https://dev-www.libreoffice.org/src/Scheherazade-2.100.zip";
sha256 = "251c8817ceb87d9b661ce1d5b49e732a0116add10abc046be4b8ba5196e149b5";
md5 = "";
md5name = "251c8817ceb87d9b661ce1d5b49e732a0116add10abc046be4b8ba5196e149b5-Scheherazade-2.100.zip";
}
{
name = "libfreehand-0.1.2.tar.xz";
url = "https://dev-www.libreoffice.org/src/libfreehand-0.1.2.tar.xz";
sha256 = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac";
md5 = "";
md5name = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac-libfreehand-0.1.2.tar.xz";
}
{
name = "freetype-2.11.0.tar.xz";
url = "https://dev-www.libreoffice.org/src/freetype-2.11.0.tar.xz";
sha256 = "8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7";
md5 = "";
md5name = "8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7-freetype-2.11.0.tar.xz";
}
{
name = "glm-0.9.9.8.zip";
url = "https://dev-www.libreoffice.org/src/glm-0.9.9.8.zip";
sha256 = "6bba5f032bed47c73ad9397f2313b9acbfb56253d0d0576b5873d3dcb25e99ad";
md5 = "";
md5name = "6bba5f032bed47c73ad9397f2313b9acbfb56253d0d0576b5873d3dcb25e99ad-glm-0.9.9.8.zip";
}
{
name = "gpgme-1.16.0.tar.bz2";
url = "https://dev-www.libreoffice.org/src/gpgme-1.16.0.tar.bz2";
sha256 = "6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0";
md5 = "";
md5name = "6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0-gpgme-1.16.0.tar.bz2";
}
{
name = "graphite2-minimal-1.3.14.tgz";
url = "https://dev-www.libreoffice.org/src/graphite2-minimal-1.3.14.tgz";
sha256 = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc";
md5 = "";
md5name = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc-graphite2-minimal-1.3.14.tgz";
}
{
name = "harfbuzz-2.8.2.tar.xz";
url = "https://dev-www.libreoffice.org/src/harfbuzz-2.8.2.tar.xz";
sha256 = "d58461395ce28b9dc03903254374dd70c38c8c28c5046db123c08f7ab9417be7";
md5 = "";
md5name = "d58461395ce28b9dc03903254374dd70c38c8c28c5046db123c08f7ab9417be7-harfbuzz-2.8.2.tar.xz";
}
{
name = "hsqldb_1_8_0.zip";
url = "https://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
sha256 = "d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370";
md5 = "17410483b5b5f267aa18b7e00b65e6e0";
md5name = "17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
}
{
name = "hunspell-1.7.0.tar.gz";
url = "https://dev-www.libreoffice.org/src/hunspell-1.7.0.tar.gz";
sha256 = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951";
md5 = "";
md5name = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951-hunspell-1.7.0.tar.gz";
}
{
name = "hyphen-2.8.8.tar.gz";
url = "https://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
sha256 = "304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705";
md5 = "5ade6ae2a99bc1e9e57031ca88d36dad";
md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
}
{
name = "icu4c-70_1-src.tgz";
url = "https://dev-www.libreoffice.org/src/icu4c-70_1-src.tgz";
sha256 = "8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5";
md5 = "";
md5name = "8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5-icu4c-70_1-src.tgz";
}
{
name = "icu4c-70_1-data.zip";
url = "https://dev-www.libreoffice.org/src/icu4c-70_1-data.zip";
sha256 = "c72723ddba3300ffb231d6b09e2a728ea6e89de10ed5927f74bacbd77042336e";
md5 = "";
md5name = "c72723ddba3300ffb231d6b09e2a728ea6e89de10ed5927f74bacbd77042336e-icu4c-70_1-data.zip";
}
{
name = "flow-engine-0.9.4.zip";
url = "https://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
sha256 = "233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd";
md5 = "ba2930200c9f019c2d93a8c88c651a0f";
md5name = "ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
}
{
name = "flute-1.1.6.zip";
url = "https://dev-www.libreoffice.org/src/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip";
sha256 = "1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133";
md5 = "d8bd5eed178db6e2b18eeed243f85aa8";
md5name = "d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip";
}
{
name = "libbase-1.1.6.zip";
url = "https://dev-www.libreoffice.org/src/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip";
sha256 = "75c80359c9ce343c20aab8a36a45cb3b9ee7c61cf92c13ae45399d854423a9ba";
md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624";
md5name = "eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip";
}
{
name = "libfonts-1.1.6.zip";
url = "https://dev-www.libreoffice.org/src/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip";
sha256 = "e0531091787c0f16c83965fdcbc49162c059d7f0c64669e7f119699321549743";
md5 = "3bdf40c0d199af31923e900d082ca2dd";
md5name = "3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip";
}
{
name = "libformula-1.1.7.zip";
url = "https://dev-www.libreoffice.org/src/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip";
sha256 = "5826d1551bf599b85742545f6e01a0079b93c1b2c8434bf409eddb3a29e4726b";
md5 = "3404ab6b1792ae5f16bbd603bd1e1d03";
md5name = "3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip";
}
{
name = "liblayout-0.2.10.zip";
url = "https://dev-www.libreoffice.org/src/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip";
sha256 = "e1fb87f3f7b980d33414473279615c4644027e013012d156efa538bc2b031772";
md5 = "db60e4fde8dd6d6807523deb71ee34dc";
md5name = "db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip";
}
{
name = "libloader-1.1.6.zip";
url = "https://dev-www.libreoffice.org/src/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip";
sha256 = "3d853b19b1d94a6efa69e7af90f7f2b09ecf302913bee3da796c15ecfebcfac8";
md5 = "97b2d4dba862397f446b217e2b623e71";
md5name = "97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip";
}
{
name = "librepository-1.1.6.zip";
url = "https://dev-www.libreoffice.org/src/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip";
sha256 = "abe2c57ac12ba45d83563b02e240fa95d973376de2f720aab8fe11f2e621c095";
md5 = "8ce2fcd72becf06c41f7201d15373ed9";
md5name = "8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip";
}
{
name = "libserializer-1.1.6.zip";
url = "https://dev-www.libreoffice.org/src/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip";
sha256 = "05640a1f6805b2b2d7e2cb9c50db9a5cb084e3c52ab1a71ce015239b4a1d4343";
md5 = "f94d9870737518e3b597f9265f4e9803";
md5name = "f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip";
}
{
name = "libxml-1.1.7.zip";
url = "https://dev-www.libreoffice.org/src/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip";
sha256 = "7d2797fe9f79a77009721e3f14fa4a1dec17a6d706bdc93f85f1f01d124fab66";
md5 = "ace6ab49184e329db254e454a010f56d";
md5name = "ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip";
}
{
name = "sacjava-1.3.zip";
url = "https://dev-www.libreoffice.org/src/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
sha256 = "085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045";
md5 = "39bb3fcea1514f1369fcfc87542390fd";
md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
}
{
name = "libjpeg-turbo-2.1.1.tar.gz";
url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-2.1.1.tar.gz";
sha256 = "20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4";
md5 = "";
md5name = "20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4-libjpeg-turbo-2.1.1.tar.gz";
}
{
name = "language-subtag-registry-2021-12-29.tar.bz2";
url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2021-12-29.tar.bz2";
sha256 = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837";
md5 = "";
md5name = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837-language-subtag-registry-2021-12-29.tar.bz2";
}
{
name = "JLanguageTool-1.7.0.tar.bz2";
url = "https://dev-www.libreoffice.org/src/b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
sha256 = "48c87e41636783bba438b65fd895821e369ed139e1465fac654323ad93c5a82d";
md5 = "b63e6340a02ff1cacfeadb2c42286161";
md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
}
{
name = "lcms2-2.12.tar.gz";
url = "https://dev-www.libreoffice.org/src/lcms2-2.12.tar.gz";
sha256 = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5";
md5 = "";
md5name = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5-lcms2-2.12.tar.gz";
}
{
name = "libassuan-2.5.5.tar.bz2";
url = "https://dev-www.libreoffice.org/src/libassuan-2.5.5.tar.bz2";
sha256 = "8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4";
md5 = "";
md5name = "8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4-libassuan-2.5.5.tar.bz2";
}
{
name = "libatomic_ops-7.6.8.tar.gz";
url = "https://dev-www.libreoffice.org/src/libatomic_ops-7.6.8.tar.gz";
sha256 = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665";
md5 = "";
md5name = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665-libatomic_ops-7.6.8.tar.gz";
}
{
name = "libeot-0.01.tar.bz2";
url = "https://dev-www.libreoffice.org/src/libeot-0.01.tar.bz2";
sha256 = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a";
md5 = "";
md5name = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a-libeot-0.01.tar.bz2";
}
{
name = "libexttextcat-3.4.6.tar.xz";
url = "https://dev-www.libreoffice.org/src/libexttextcat-3.4.6.tar.xz";
sha256 = "6d77eace20e9ea106c1330e268ede70c9a4a89744ddc25715682754eca3368df";
md5 = "";
md5name = "6d77eace20e9ea106c1330e268ede70c9a4a89744ddc25715682754eca3368df-libexttextcat-3.4.6.tar.xz";
}
{
name = "libffi-3.3.tar.gz";
url = "https://dev-www.libreoffice.org/src/libffi-3.3.tar.gz";
sha256 = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056";
md5 = "";
md5name = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056-libffi-3.3.tar.gz";
}
{
name = "libgpg-error-1.43.tar.bz2";
url = "https://dev-www.libreoffice.org/src/libgpg-error-1.43.tar.bz2";
sha256 = "a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf";
md5 = "";
md5name = "a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf-libgpg-error-1.43.tar.bz2";
}
{
name = "liblangtag-0.6.3.tar.bz2";
url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.3.tar.bz2";
sha256 = "1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd";
md5 = "";
md5name = "1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd-liblangtag-0.6.3.tar.bz2";
}
{
name = "libnumbertext-1.0.10.tar.xz";
url = "https://dev-www.libreoffice.org/src/libnumbertext-1.0.10.tar.xz";
sha256 = "a285573864eaac8d36a0f66d946e9b1d3cf01c5d93d31fda00264a76f2633beb";
md5 = "";
md5name = "a285573864eaac8d36a0f66d946e9b1d3cf01c5d93d31fda00264a76f2633beb-libnumbertext-1.0.10.tar.xz";
}
{
name = "ltm-1.0.zip";
url = "https://dev-www.libreoffice.org/src/ltm-1.0.zip";
sha256 = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483";
md5 = "";
md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip";
}
{
name = "xmlsec1-1.2.33.tar.gz";
url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.33.tar.gz";
sha256 = "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931";
md5 = "";
md5name = "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931-xmlsec1-1.2.33.tar.gz";
}
{
name = "libxml2-2.9.13.tar.xz";
url = "https://dev-www.libreoffice.org/src/libxml2-2.9.13.tar.xz";
sha256 = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e";
md5 = "";
md5name = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e-libxml2-2.9.13.tar.xz";
}
{
name = "libxslt-1.1.35.tar.xz";
url = "https://dev-www.libreoffice.org/src/libxslt-1.1.35.tar.xz";
sha256 = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79";
md5 = "";
md5name = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79-libxslt-1.1.35.tar.xz";
}
{
name = "lp_solve_5.5.tar.gz";
url = "https://dev-www.libreoffice.org/src/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
sha256 = "171816288f14215c69e730f7a4f1c325739873e21f946ff83884b350574e6695";
md5 = "26b3e95ddf3d9c077c480ea45874b3b8";
md5name = "26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
}
{
name = "lxml-4.1.1.tgz";
url = "https://dev-www.libreoffice.org/src/lxml-4.1.1.tgz";
sha256 = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e";
md5 = "";
md5name = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e-lxml-4.1.1.tgz";
}
{
name = "mariadb-connector-c-3.1.8-src.tar.gz";
url = "https://dev-www.libreoffice.org/src/mariadb-connector-c-3.1.8-src.tar.gz";
sha256 = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b";
md5 = "";
md5name = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b-mariadb-connector-c-3.1.8-src.tar.gz";
}
{
name = "mdds-2.0.1.tar.bz2";
url = "https://dev-www.libreoffice.org/src/mdds-2.0.1.tar.bz2";
sha256 = "3ab33fce58e6acf9540cc1a52264be6863ef80f55ac287194cc98cda48e71fe6";
md5 = "";
md5name = "3ab33fce58e6acf9540cc1a52264be6863ef80f55ac287194cc98cda48e71fe6-mdds-2.0.1.tar.bz2";
}
{
name = "mDNSResponder-878.200.35.tar.gz";
url = "https://dev-www.libreoffice.org/src/mDNSResponder-878.200.35.tar.gz";
sha256 = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0";
md5 = "";
md5name = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0-mDNSResponder-878.200.35.tar.gz";
}
{
name = "libmspub-0.1.4.tar.xz";
url = "https://dev-www.libreoffice.org/src/libmspub-0.1.4.tar.xz";
sha256 = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba";
md5 = "";
md5name = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba-libmspub-0.1.4.tar.xz";
}
{
name = "libmwaw-0.3.21.tar.xz";
url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.21.tar.xz";
sha256 = "e8750123a78d61b943cef78b7736c8a7f20bb0a649aa112402124fba794fc21c";
md5 = "";
md5name = "e8750123a78d61b943cef78b7736c8a7f20bb0a649aa112402124fba794fc21c-libmwaw-0.3.21.tar.xz";
}
{
name = "mythes-1.2.4.tar.gz";
url = "https://dev-www.libreoffice.org/src/a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz";
sha256 = "1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b0e0790a305f";
md5 = "a8c2c5b8f09e7ede322d5c602ff6a4b6";
md5name = "a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz";
}
{
name = "neon-0.31.2.tar.gz";
url = "https://dev-www.libreoffice.org/src/neon-0.31.2.tar.gz";
sha256 = "cf1ee3ac27a215814a9c80803fcee4f0ede8466ebead40267a9bd115e16a8678";
md5 = "";
md5name = "cf1ee3ac27a215814a9c80803fcee4f0ede8466ebead40267a9bd115e16a8678-neon-0.31.2.tar.gz";
}
{
name = "nss-3.73-with-nspr-4.32.tar.gz";
url = "https://dev-www.libreoffice.org/src/nss-3.73-with-nspr-4.32.tar.gz";
sha256 = "07a9e5b70f121a62706140d4cacc3006d3efb869da40f3a2bf7a65d37847f4d9";
md5 = "";
md5name = "07a9e5b70f121a62706140d4cacc3006d3efb869da40f3a2bf7a65d37847f4d9-nss-3.73-with-nspr-4.32.tar.gz";
}
{
name = "libodfgen-0.1.8.tar.xz";
url = "https://dev-www.libreoffice.org/src/libodfgen-0.1.8.tar.xz";
sha256 = "55200027fd46623b9bdddd38d275e7452d1b0ff8aeddcad6f9ae6dc25f610625";
md5 = "";
md5name = "55200027fd46623b9bdddd38d275e7452d1b0ff8aeddcad6f9ae6dc25f610625-libodfgen-0.1.8.tar.xz";
}
{
name = "odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
url = "https://dev-www.libreoffice.org/src/../extern/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
sha256 = "d55495ab3a86544650587de2a72180ddf8bfc6376d14ddfa923992dbc86a06e0";
md5 = "";
md5name = "d55495ab3a86544650587de2a72180ddf8bfc6376d14ddfa923992dbc86a06e0-odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
}
{
name = "officeotron-0.7.4-master.jar";
url = "https://dev-www.libreoffice.org/src/../extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
sha256 = "f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770";
md5 = "8249374c274932a21846fa7629c2aa9b";
md5name = "8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
}
{
name = "openldap-2.4.59.tgz";
url = "https://dev-www.libreoffice.org/src/openldap-2.4.59.tgz";
sha256 = "99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34";
md5 = "";
md5name = "99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34-openldap-2.4.59.tgz";
}
{
name = "openssl-1.1.1l.tar.gz";
url = "https://dev-www.libreoffice.org/src/openssl-1.1.1l.tar.gz";
sha256 = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1";
md5 = "";
md5name = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1-openssl-1.1.1l.tar.gz";
}
{
name = "liborcus-0.17.2.tar.bz2";
url = "https://dev-www.libreoffice.org/src/liborcus-0.17.2.tar.bz2";
sha256 = "2a86c405a5929f749b27637509596421d46805753364ab258b035fd01fbde143";
md5 = "";
md5name = "2a86c405a5929f749b27637509596421d46805753364ab258b035fd01fbde143-liborcus-0.17.2.tar.bz2";
}
{
name = "libpagemaker-0.0.4.tar.xz";
url = "https://dev-www.libreoffice.org/src/libpagemaker-0.0.4.tar.xz";
sha256 = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d";
md5 = "";
md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz";
}
{
name = "pdfium-4699.tar.bz2";
url = "https://dev-www.libreoffice.org/src/pdfium-4699.tar.bz2";
sha256 = "ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf";
md5 = "";
md5name = "ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf-pdfium-4699.tar.bz2";
}
{
name = "pixman-0.40.0.tar.gz";
url = "https://dev-www.libreoffice.org/src/pixman-0.40.0.tar.gz";
sha256 = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc";
md5 = "";
md5name = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc-pixman-0.40.0.tar.gz";
}
{
name = "libpng-1.6.37.tar.xz";
url = "https://dev-www.libreoffice.org/src/libpng-1.6.37.tar.xz";
sha256 = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca";
md5 = "";
md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz";
}
{
name = "poppler-21.11.0.tar.xz";
url = "https://dev-www.libreoffice.org/src/poppler-21.11.0.tar.xz";
sha256 = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584";
md5 = "";
md5name = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584-poppler-21.11.0.tar.xz";
}
{
name = "poppler-data-0.4.10.tar.gz";
url = "https://dev-www.libreoffice.org/src/poppler-data-0.4.10.tar.gz";
sha256 = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30";
md5 = "";
md5name = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30-poppler-data-0.4.10.tar.gz";
}
{
name = "postgresql-13.5.tar.bz2";
url = "https://dev-www.libreoffice.org/src/postgresql-13.5.tar.bz2";
sha256 = "9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3";
md5 = "";
md5name = "9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3-postgresql-13.5.tar.bz2";
}
{
name = "Python-3.8.10.tar.xz";
url = "https://dev-www.libreoffice.org/src/Python-3.8.10.tar.xz";
sha256 = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9";
md5 = "";
md5name = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9-Python-3.8.10.tar.xz";
}
{
name = "libqxp-0.0.2.tar.xz";
url = "https://dev-www.libreoffice.org/src/libqxp-0.0.2.tar.xz";
sha256 = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c";
md5 = "";
md5name = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c-libqxp-0.0.2.tar.xz";
}
{
name = "raptor2-2.0.15.tar.gz";
url = "https://dev-www.libreoffice.org/src/a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
sha256 = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed";
md5 = "a39f6c07ddb20d7dd2ff1f95fa21e2cd";
md5name = "a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
}
{
name = "rasqal-0.9.33.tar.gz";
url = "https://dev-www.libreoffice.org/src/1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
sha256 = "6924c9ac6570bd241a9669f83b467c728a322470bf34f4b2da4f69492ccfd97c";
md5 = "1f5def51ca0026cd192958ef07228b52";
md5name = "1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
}
{
name = "redland-1.0.17.tar.gz";
url = "https://dev-www.libreoffice.org/src/e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681";
md5 = "e5be03eda13ef68aabab6e42aa67715e";
md5name = "e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
}
{
name = "librevenge-0.0.4.tar.bz2";
url = "https://dev-www.libreoffice.org/src/librevenge-0.0.4.tar.bz2";
sha256 = "c51601cd08320b75702812c64aae0653409164da7825fd0f451ac2c5dbe77cbf";
md5 = "";
md5name = "c51601cd08320b75702812c64aae0653409164da7825fd0f451ac2c5dbe77cbf-librevenge-0.0.4.tar.bz2";
}
{
name = "rhino1_5R5.zip";
url = "https://dev-www.libreoffice.org/src/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
sha256 = "1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753";
md5 = "798b2ffdc8bcfe7bca2cf92b62caf685";
md5name = "798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
}
{
name = "serf-1.3.9.tar.bz2";
url = "https://dev-www.libreoffice.org/src/serf-1.3.9.tar.bz2";
sha256 = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc";
md5 = "";
md5name = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc-serf-1.3.9.tar.bz2";
}
{
name = "skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz";
url = "https://dev-www.libreoffice.org/src/skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz";
sha256 = "97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177";
md5 = "";
md5name = "97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177-skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz";
}
{
name = "libstaroffice-0.0.7.tar.xz";
url = "https://dev-www.libreoffice.org/src/libstaroffice-0.0.7.tar.xz";
sha256 = "f94fb0ad8216f97127bedef163a45886b43c62deac5e5b0f5e628e234220c8db";
md5 = "";
md5name = "f94fb0ad8216f97127bedef163a45886b43c62deac5e5b0f5e628e234220c8db-libstaroffice-0.0.7.tar.xz";
}
{
name = "swingExSrc.zip";
url = "https://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
sha256 = "64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1";
md5 = "35c94d2df8893241173de1d16b6034c0";
md5name = "35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
}
{
name = "twaindsm_2.4.1.orig.tar.gz";
url = "https://dev-www.libreoffice.org/src/twaindsm_2.4.1.orig.tar.gz";
sha256 = "82c818be771f242388457aa8c807e4b52aa84dc22b21c6c56184a6b4cbb085e6";
md5 = "";
md5name = "82c818be771f242388457aa8c807e4b52aa84dc22b21c6c56184a6b4cbb085e6-twaindsm_2.4.1.orig.tar.gz";
}
{
name = "ucpp-1.3.2.tar.gz";
url = "https://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz";
sha256 = "983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776";
md5 = "0168229624cfac409e766913506961a8";
md5name = "0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz";
}
{
name = "libvisio-0.1.7.tar.xz";
url = "https://dev-www.libreoffice.org/src/libvisio-0.1.7.tar.xz";
sha256 = "8faf8df870cb27b09a787a1959d6c646faa44d0d8ab151883df408b7166bea4c";
md5 = "";
md5name = "8faf8df870cb27b09a787a1959d6c646faa44d0d8ab151883df408b7166bea4c-libvisio-0.1.7.tar.xz";
}
{
name = "libwpd-0.10.3.tar.xz";
url = "https://dev-www.libreoffice.org/src/libwpd-0.10.3.tar.xz";
sha256 = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09";
md5 = "";
md5name = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09-libwpd-0.10.3.tar.xz";
}
{
name = "libwpg-0.3.3.tar.xz";
url = "https://dev-www.libreoffice.org/src/libwpg-0.3.3.tar.xz";
sha256 = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c";
md5 = "";
md5name = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c-libwpg-0.3.3.tar.xz";
}
{
name = "libwps-0.4.12.tar.xz";
url = "https://dev-www.libreoffice.org/src/libwps-0.4.12.tar.xz";
sha256 = "e21afb52a06d03b774c5a8c72679687ab64891b91ce0c3bdf2d3e97231534edb";
md5 = "";
md5name = "e21afb52a06d03b774c5a8c72679687ab64891b91ce0c3bdf2d3e97231534edb-libwps-0.4.12.tar.xz";
}
{
name = "xsltml_2.1.2.zip";
url = "https://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
sha256 = "75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870";
md5 = "a7983f859eafb2677d7ff386a023bc40";
md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
}
{
name = "zlib-1.2.12.tar.xz";
url = "https://dev-www.libreoffice.org/src/zlib-1.2.12.tar.xz";
sha256 = "7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18";
md5 = "";
md5name = "7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18-zlib-1.2.12.tar.xz";
}
{
name = "libzmf-0.0.2.tar.xz";
url = "https://dev-www.libreoffice.org/src/libzmf-0.0.2.tar.xz";
sha256 = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22";
md5 = "";
md5name = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22-libzmf-0.0.2.tar.xz";
}
{
name = "zxing-cpp-1.2.0.tar.gz";
url = "https://dev-www.libreoffice.org/src/zxing-cpp-1.2.0.tar.gz";
sha256 = "653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a";
md5 = "";
md5name = "653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a-zxing-cpp-1.2.0.tar.gz";
}
{
name = "libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz";
url = "https://dev-www.libreoffice.org/src/libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz";
sha256 = "471dd83a813ed2816c2246c373004470ad0f6612c7ce72038929dc5161cdd58e";
md5 = "";
md5name = "471dd83a813ed2816c2246c373004470ad0f6612c7ce72038929dc5161cdd58e-libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz";
}
]

View file

@ -0,0 +1,23 @@
{ lib, kdeIntegration, ... }:
attrs:
{
postConfigure = attrs.postConfigure + ''
sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/inc/swmodeltestbase.hxx'
sed -e '/CPPUNIT_ASSERT(!bRTL);/d' -i './vcl/qa/cppunit/text.cxx'
sed -e '/CPPUNIT_ASSERT_EQUAL(0, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
sed -e '/CPPUNIT_ASSERT_EQUAL(4, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
sed -e '/CPPUNIT_ASSERT_EQUAL(11, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
sed -e '/CPPUNIT_ASSERT_EQUAL(18, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
sed -e '/CPPUNIT_ASSERT_EQUAL(3, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
sed -e '/CPPUNIT_ASSERT_EQUAL(9, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
sed -e '/CPPUNIT_ASSERT_EQUAL(17, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
sed -e '/CPPUNIT_ASSERT_EQUAL(22, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
'';
configureFlags = attrs.configureFlags ++ [
(lib.enableFeature kdeIntegration "kf5")
"--without-system-zxing"
"--without-system-cuckoo"
];
}

View file

@ -0,0 +1,36 @@
{ fetchurl }:
rec {
fetchSrc = {name, sha256}: fetchurl {
url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
inherit sha256;
};
major = "7";
minor = "3";
patch = "3";
tweak = "2";
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 = "sha256-7hK9vhYhwg4nRLxbbFlngQ8lpXYLmKxYEtVQqwCWhoU=";
};
# FIXME rename
translations = fetchSrc {
name = "translations";
sha256 = "sha256-uRsKSC+kLVnhYF85o5FxZuf/dr+o6bYtbu8KmwSzNRw=";
};
# the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
# it and LibreOffice can use these by pointing DICPATH environment variable at the hunspell directory
help = fetchSrc {
name = "help";
sha256 = "sha256-aIY07MuALBVklhJLOUwOxeIQWam2zQCVkw+edvnu/ps=";
};
}

View file

@ -0,0 +1,884 @@
[
{
name = "libabw-0.1.3.tar.xz";
url = "https://dev-www.libreoffice.org/src/libabw-0.1.3.tar.xz";
sha256 = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed";
md5 = "";
md5name = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed-libabw-0.1.3.tar.xz";
}
{
name = "apr-1.5.2.tar.gz";
url = "https://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz";
sha256 = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb";
md5 = "";
md5name = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb-apr-1.5.2.tar.gz";
}
{
name = "apr-util-1.5.4.tar.gz";
url = "https://dev-www.libreoffice.org/src/apr-util-1.5.4.tar.gz";
sha256 = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19";
md5 = "";
md5name = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19-apr-util-1.5.4.tar.gz";
}
{
name = "boost_1_75_0.tar.xz";
url = "https://dev-www.libreoffice.org/src/boost_1_75_0.tar.xz";
sha256 = "cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b";
md5 = "";
md5name = "cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b-boost_1_75_0.tar.xz";
}
{
name = "box2d-2.3.1.tar.gz";
url = "https://dev-www.libreoffice.org/src/box2d-2.3.1.tar.gz";
sha256 = "58ffc8475a8650aadc351345aef696937747b40501ab78d72c197c5ff5b3035c";
md5 = "";
md5name = "58ffc8475a8650aadc351345aef696937747b40501ab78d72c197c5ff5b3035c-box2d-2.3.1.tar.gz";
}
{
name = "breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz";
url = "https://dev-www.libreoffice.org/src/breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz";
sha256 = "c44a2e898895cfc13b42d2371ba4b88b0777d7782214d6cdc91c33720f3b0d91";
md5 = "";
md5name = "c44a2e898895cfc13b42d2371ba4b88b0777d7782214d6cdc91c33720f3b0d91-breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz";
}
{
name = "bsh-2.0b6-src.zip";
url = "https://dev-www.libreoffice.org/src/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip";
sha256 = "9e93c73e23aff644b17dfff656444474c14150e7f3b38b19635e622235e01c96";
md5 = "beeca87be45ec87d241ddd0e1bad80c1";
md5name = "beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip";
}
{
name = "bzip2-1.0.8.tar.gz";
url = "https://dev-www.libreoffice.org/src/bzip2-1.0.8.tar.gz";
sha256 = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269";
md5 = "";
md5name = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269-bzip2-1.0.8.tar.gz";
}
{
name = "cairo-1.16.0.tar.xz";
url = "https://dev-www.libreoffice.org/src/cairo-1.16.0.tar.xz";
sha256 = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331";
md5 = "";
md5name = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331-cairo-1.16.0.tar.xz";
}
{
name = "libcdr-0.1.7.tar.xz";
url = "https://dev-www.libreoffice.org/src/libcdr-0.1.7.tar.xz";
sha256 = "5666249d613466b9aa1e987ea4109c04365866e9277d80f6cd9663e86b8ecdd4";
md5 = "";
md5name = "5666249d613466b9aa1e987ea4109c04365866e9277d80f6cd9663e86b8ecdd4-libcdr-0.1.7.tar.xz";
}
{
name = "clucene-core-2.3.3.4.tar.gz";
url = "https://dev-www.libreoffice.org/src/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz";
sha256 = "ddfdc433dd8ad31b5c5819cc4404a8d2127472a3b720d3e744e8c51d79732eab";
md5 = "48d647fbd8ef8889e5a7f422c1bfda94";
md5name = "48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz";
}
{
name = "dtoa-20180411.tgz";
url = "https://dev-www.libreoffice.org/src/dtoa-20180411.tgz";
sha256 = "0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4";
md5 = "";
md5name = "0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4-dtoa-20180411.tgz";
}
{
name = "libcmis-0.5.2.tar.xz";
url = "https://dev-www.libreoffice.org/src/libcmis-0.5.2.tar.xz";
sha256 = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2";
md5 = "";
md5name = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2-libcmis-0.5.2.tar.xz";
}
{
name = "CoinMP-1.7.6.tgz";
url = "https://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz";
sha256 = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f";
md5 = "";
md5name = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f-CoinMP-1.7.6.tgz";
}
{
name = "cppunit-1.15.1.tar.gz";
url = "https://dev-www.libreoffice.org/src/cppunit-1.15.1.tar.gz";
sha256 = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7";
md5 = "";
md5name = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7-cppunit-1.15.1.tar.gz";
}
{
name = "converttexttonumber-1-5-0.oxt";
url = "https://dev-www.libreoffice.org/src/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
sha256 = "71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3";
md5 = "1f467e5bb703f12cbbb09d5cf67ecf4a";
md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
}
{
name = "curl-7.79.1.tar.xz";
url = "https://dev-www.libreoffice.org/src/curl-7.79.1.tar.xz";
sha256 = "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689";
md5 = "";
md5name = "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689-curl-7.79.1.tar.xz";
}
{
name = "libe-book-0.1.3.tar.xz";
url = "https://dev-www.libreoffice.org/src/libe-book-0.1.3.tar.xz";
sha256 = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9";
md5 = "";
md5name = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9-libe-book-0.1.3.tar.xz";
}
{
name = "libepoxy-1.5.3.tar.xz";
url = "https://dev-www.libreoffice.org/src/libepoxy-1.5.3.tar.xz";
sha256 = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d";
md5 = "";
md5name = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d-libepoxy-1.5.3.tar.xz";
}
{
name = "epm-3.7.tar.gz";
url = "https://dev-www.libreoffice.org/src/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz";
sha256 = "b3fc4c5445de6c9a801504a3ea3efb2d4ea9d5a622c9427e716736e7713ddb91";
md5 = "3ade8cfe7e59ca8e65052644fed9fca4";
md5name = "3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz";
}
{
name = "libepubgen-0.1.1.tar.xz";
url = "https://dev-www.libreoffice.org/src/libepubgen-0.1.1.tar.xz";
sha256 = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad";
md5 = "";
md5name = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad-libepubgen-0.1.1.tar.xz";
}
{
name = "libetonyek-0.1.10.tar.xz";
url = "https://dev-www.libreoffice.org/src/libetonyek-0.1.10.tar.xz";
sha256 = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a";
md5 = "";
md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
}
{
name = "expat-2.4.6.tar.xz";
url = "https://dev-www.libreoffice.org/src/expat-2.4.6.tar.xz";
sha256 = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b";
md5 = "";
md5name = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b-expat-2.4.6.tar.xz";
}
{
name = "Firebird-3.0.7.33374-0.tar.bz2";
url = "https://dev-www.libreoffice.org/src/Firebird-3.0.7.33374-0.tar.bz2";
sha256 = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76";
md5 = "";
md5name = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76-Firebird-3.0.7.33374-0.tar.bz2";
}
{
name = "fontconfig-2.13.91.tar.gz";
url = "https://dev-www.libreoffice.org/src/fontconfig-2.13.91.tar.gz";
sha256 = "19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5";
md5 = "";
md5name = "19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5-fontconfig-2.13.91.tar.gz";
}
{
name = "crosextrafonts-20130214.tar.gz";
url = "https://dev-www.libreoffice.org/src/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz";
sha256 = "c48d1c2fd613c9c06c959c34da7b8388059e2408d2bb19845dc3ed35f76e4d09";
md5 = "368f114c078f94214a308a74c7e991bc";
md5name = "368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz";
}
{
name = "crosextrafonts-carlito-20130920.tar.gz";
url = "https://dev-www.libreoffice.org/src/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz";
sha256 = "4bd12b6cbc321c1cf16da76e2c585c925ce956a08067ae6f6c64eff6ccfdaf5a";
md5 = "c74b7223abe75949b4af367942d96c7a";
md5name = "c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz";
}
{
name = "dejavu-fonts-ttf-2.37.zip";
url = "https://dev-www.libreoffice.org/src/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
sha256 = "7576310b219e04159d35ff61dd4a4ec4cdba4f35c00e002a136f00e96a908b0a";
md5 = "33e1e61fab06a547851ed308b4ffef42";
md5name = "33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
}
{
name = "GentiumBasic_1102.zip";
url = "https://dev-www.libreoffice.org/src/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
sha256 = "2f1a2c5491d7305dffd3520c6375d2f3e14931ee35c6d8ae1e8f098bf1a7b3cc";
md5 = "1725634df4bb3dcb1b2c91a6175f8789";
md5name = "1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
}
{
name = "liberation-narrow-fonts-ttf-1.07.6.tar.gz";
url = "https://dev-www.libreoffice.org/src/liberation-narrow-fonts-ttf-1.07.6.tar.gz";
sha256 = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3";
md5 = "";
md5name = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3-liberation-narrow-fonts-ttf-1.07.6.tar.gz";
}
{
name = "liberation-fonts-ttf-2.1.4.tar.gz";
url = "https://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.1.4.tar.gz";
sha256 = "26f85412dd0aa9d061504a1cc8aaf0aa12a70710e8d47d8b65a1251757c1a5ef";
md5 = "";
md5name = "26f85412dd0aa9d061504a1cc8aaf0aa12a70710e8d47d8b65a1251757c1a5ef-liberation-fonts-ttf-2.1.4.tar.gz";
}
{
name = "LinLibertineG-20120116.zip";
url = "https://dev-www.libreoffice.org/src/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
sha256 = "54adcb2bc8cac0927a647fbd9362f45eff48130ce6e2379dc3867643019e08c5";
md5 = "e7a384790b13c29113e22e596ade9687";
md5name = "e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
}
{
name = "source-code-pro-2.030R-ro-1.050R-it.tar.gz";
url = "https://dev-www.libreoffice.org/src/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz";
sha256 = "09466dce87653333f189acd8358c60c6736dcd95f042dee0b644bdcf65b6ae2f";
md5 = "907d6e99f241876695c19ff3db0b8923";
md5name = "907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz";
}
{
name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
url = "https://dev-www.libreoffice.org/src/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
sha256 = "e7bc9a1fec787a529e49f5a26b93dcdcf41506449dfc70f92cdef6d17eb6fb61";
md5 = "edc4d741888bc0d38e32dbaa17149596";
md5name = "edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
}
{
name = "source-serif-pro-3.000R.tar.gz";
url = "https://dev-www.libreoffice.org/src/source-serif-pro-3.000R.tar.gz";
sha256 = "826a2b784d5cdb4c2bbc7830eb62871528360a61a52689c102a101623f1928e3";
md5 = "";
md5name = "826a2b784d5cdb4c2bbc7830eb62871528360a61a52689c102a101623f1928e3-source-serif-pro-3.000R.tar.gz";
}
{
name = "EmojiOneColor-SVGinOT-1.3.tar.gz";
url = "https://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz";
sha256 = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7";
md5 = "";
md5name = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7-EmojiOneColor-SVGinOT-1.3.tar.gz";
}
{
name = "noto-fonts-20171024.tar.gz";
url = "https://dev-www.libreoffice.org/src/noto-fonts-20171024.tar.gz";
sha256 = "29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994";
md5 = "";
md5name = "29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994-noto-fonts-20171024.tar.gz";
}
{
name = "culmus-0.133.tar.gz";
url = "https://dev-www.libreoffice.org/src/culmus-0.133.tar.gz";
sha256 = "c0c6873742d07544f6bacf2ad52eb9cb392974d56427938dc1dfbc8399c64d05";
md5 = "";
md5name = "c0c6873742d07544f6bacf2ad52eb9cb392974d56427938dc1dfbc8399c64d05-culmus-0.133.tar.gz";
}
{
name = "libre-hebrew-1.0.tar.gz";
url = "https://dev-www.libreoffice.org/src/libre-hebrew-1.0.tar.gz";
sha256 = "f596257c1db706ce35795b18d7f66a4db99d427725f20e9384914b534142579a";
md5 = "";
md5name = "f596257c1db706ce35795b18d7f66a4db99d427725f20e9384914b534142579a-libre-hebrew-1.0.tar.gz";
}
{
name = "alef-1.001.tar.gz";
url = "https://dev-www.libreoffice.org/src/alef-1.001.tar.gz";
sha256 = "b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52";
md5 = "";
md5name = "b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52-alef-1.001.tar.gz";
}
{
name = "Amiri-0.111.zip";
url = "https://dev-www.libreoffice.org/src/Amiri-0.111.zip";
sha256 = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166";
md5 = "";
md5name = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166-Amiri-0.111.zip";
}
{
name = "ttf-kacst_2.01+mry.tar.gz";
url = "https://dev-www.libreoffice.org/src/ttf-kacst_2.01+mry.tar.gz";
sha256 = "dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56";
md5 = "";
md5name = "dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56-ttf-kacst_2.01+mry.tar.gz";
}
{
name = "ReemKufi-0.7.zip";
url = "https://dev-www.libreoffice.org/src/ReemKufi-0.7.zip";
sha256 = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f";
md5 = "";
md5name = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f-ReemKufi-0.7.zip";
}
{
name = "Scheherazade-2.100.zip";
url = "https://dev-www.libreoffice.org/src/Scheherazade-2.100.zip";
sha256 = "251c8817ceb87d9b661ce1d5b49e732a0116add10abc046be4b8ba5196e149b5";
md5 = "";
md5name = "251c8817ceb87d9b661ce1d5b49e732a0116add10abc046be4b8ba5196e149b5-Scheherazade-2.100.zip";
}
{
name = "libfreehand-0.1.2.tar.xz";
url = "https://dev-www.libreoffice.org/src/libfreehand-0.1.2.tar.xz";
sha256 = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac";
md5 = "";
md5name = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac-libfreehand-0.1.2.tar.xz";
}
{
name = "freetype-2.9.1.tar.bz2";
url = "https://dev-www.libreoffice.org/src/freetype-2.9.1.tar.bz2";
sha256 = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d";
md5 = "";
md5name = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d-freetype-2.9.1.tar.bz2";
}
{
name = "glm-0.9.9.7.zip";
url = "https://dev-www.libreoffice.org/src/glm-0.9.9.7.zip";
sha256 = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95";
md5 = "";
md5name = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95-glm-0.9.9.7.zip";
}
{
name = "gpgme-1.13.1.tar.bz2";
url = "https://dev-www.libreoffice.org/src/gpgme-1.13.1.tar.bz2";
sha256 = "c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46";
md5 = "";
md5name = "c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46-gpgme-1.13.1.tar.bz2";
}
{
name = "graphite2-minimal-1.3.14.tgz";
url = "https://dev-www.libreoffice.org/src/graphite2-minimal-1.3.14.tgz";
sha256 = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc";
md5 = "";
md5name = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc-graphite2-minimal-1.3.14.tgz";
}
{
name = "harfbuzz-2.6.0.tar.xz";
url = "https://dev-www.libreoffice.org/src/harfbuzz-2.6.0.tar.xz";
sha256 = "9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966";
md5 = "";
md5name = "9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966-harfbuzz-2.6.0.tar.xz";
}
{
name = "hsqldb_1_8_0.zip";
url = "https://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
sha256 = "d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370";
md5 = "17410483b5b5f267aa18b7e00b65e6e0";
md5name = "17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
}
{
name = "hunspell-1.7.0.tar.gz";
url = "https://dev-www.libreoffice.org/src/hunspell-1.7.0.tar.gz";
sha256 = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951";
md5 = "";
md5name = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951-hunspell-1.7.0.tar.gz";
}
{
name = "hyphen-2.8.8.tar.gz";
url = "https://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
sha256 = "304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705";
md5 = "5ade6ae2a99bc1e9e57031ca88d36dad";
md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
}
{
name = "icu4c-69_1-src.tgz";
url = "https://dev-www.libreoffice.org/src/icu4c-69_1-src.tgz";
sha256 = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745";
md5 = "";
md5name = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745-icu4c-69_1-src.tgz";
}
{
name = "icu4c-69_1-data.zip";
url = "https://dev-www.libreoffice.org/src/icu4c-69_1-data.zip";
sha256 = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf";
md5 = "";
md5name = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf-icu4c-69_1-data.zip";
}
{
name = "flow-engine-0.9.4.zip";
url = "https://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
sha256 = "233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd";
md5 = "ba2930200c9f019c2d93a8c88c651a0f";
md5name = "ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
}
{
name = "flute-1.1.6.zip";
url = "https://dev-www.libreoffice.org/src/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip";
sha256 = "1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133";
md5 = "d8bd5eed178db6e2b18eeed243f85aa8";
md5name = "d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip";
}
{
name = "libbase-1.1.6.zip";
url = "https://dev-www.libreoffice.org/src/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip";
sha256 = "75c80359c9ce343c20aab8a36a45cb3b9ee7c61cf92c13ae45399d854423a9ba";
md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624";
md5name = "eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip";
}
{
name = "libfonts-1.1.6.zip";
url = "https://dev-www.libreoffice.org/src/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip";
sha256 = "e0531091787c0f16c83965fdcbc49162c059d7f0c64669e7f119699321549743";
md5 = "3bdf40c0d199af31923e900d082ca2dd";
md5name = "3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip";
}
{
name = "libformula-1.1.7.zip";
url = "https://dev-www.libreoffice.org/src/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip";
sha256 = "5826d1551bf599b85742545f6e01a0079b93c1b2c8434bf409eddb3a29e4726b";
md5 = "3404ab6b1792ae5f16bbd603bd1e1d03";
md5name = "3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip";
}
{
name = "liblayout-0.2.10.zip";
url = "https://dev-www.libreoffice.org/src/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip";
sha256 = "e1fb87f3f7b980d33414473279615c4644027e013012d156efa538bc2b031772";
md5 = "db60e4fde8dd6d6807523deb71ee34dc";
md5name = "db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip";
}
{
name = "libloader-1.1.6.zip";
url = "https://dev-www.libreoffice.org/src/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip";
sha256 = "3d853b19b1d94a6efa69e7af90f7f2b09ecf302913bee3da796c15ecfebcfac8";
md5 = "97b2d4dba862397f446b217e2b623e71";
md5name = "97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip";
}
{
name = "librepository-1.1.6.zip";
url = "https://dev-www.libreoffice.org/src/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip";
sha256 = "abe2c57ac12ba45d83563b02e240fa95d973376de2f720aab8fe11f2e621c095";
md5 = "8ce2fcd72becf06c41f7201d15373ed9";
md5name = "8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip";
}
{
name = "libserializer-1.1.6.zip";
url = "https://dev-www.libreoffice.org/src/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip";
sha256 = "05640a1f6805b2b2d7e2cb9c50db9a5cb084e3c52ab1a71ce015239b4a1d4343";
md5 = "f94d9870737518e3b597f9265f4e9803";
md5name = "f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip";
}
{
name = "libxml-1.1.7.zip";
url = "https://dev-www.libreoffice.org/src/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip";
sha256 = "7d2797fe9f79a77009721e3f14fa4a1dec17a6d706bdc93f85f1f01d124fab66";
md5 = "ace6ab49184e329db254e454a010f56d";
md5name = "ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip";
}
{
name = "sacjava-1.3.zip";
url = "https://dev-www.libreoffice.org/src/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
sha256 = "085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045";
md5 = "39bb3fcea1514f1369fcfc87542390fd";
md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
}
{
name = "libjpeg-turbo-1.5.3.tar.gz";
url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.3.tar.gz";
sha256 = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523";
md5 = "";
md5name = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523-libjpeg-turbo-1.5.3.tar.gz";
}
{
name = "language-subtag-registry-2021-12-29.tar.bz2";
url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2021-12-29.tar.bz2";
sha256 = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837";
md5 = "";
md5name = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837-language-subtag-registry-2021-12-29.tar.bz2";
}
{
name = "JLanguageTool-1.7.0.tar.bz2";
url = "https://dev-www.libreoffice.org/src/b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
sha256 = "48c87e41636783bba438b65fd895821e369ed139e1465fac654323ad93c5a82d";
md5 = "b63e6340a02ff1cacfeadb2c42286161";
md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
}
{
name = "lcms2-2.11.tar.gz";
url = "https://dev-www.libreoffice.org/src/lcms2-2.11.tar.gz";
sha256 = "dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e";
md5 = "";
md5name = "dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e-lcms2-2.11.tar.gz";
}
{
name = "libassuan-2.5.3.tar.bz2";
url = "https://dev-www.libreoffice.org/src/libassuan-2.5.3.tar.bz2";
sha256 = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702";
md5 = "";
md5name = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702-libassuan-2.5.3.tar.bz2";
}
{
name = "libatomic_ops-7.6.8.tar.gz";
url = "https://dev-www.libreoffice.org/src/libatomic_ops-7.6.8.tar.gz";
sha256 = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665";
md5 = "";
md5name = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665-libatomic_ops-7.6.8.tar.gz";
}
{
name = "libeot-0.01.tar.bz2";
url = "https://dev-www.libreoffice.org/src/libeot-0.01.tar.bz2";
sha256 = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a";
md5 = "";
md5name = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a-libeot-0.01.tar.bz2";
}
{
name = "libexttextcat-3.4.5.tar.xz";
url = "https://dev-www.libreoffice.org/src/libexttextcat-3.4.5.tar.xz";
sha256 = "13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191b87f7a63e82797dac8";
md5 = "";
md5name = "13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191b87f7a63e82797dac8-libexttextcat-3.4.5.tar.xz";
}
{
name = "libffi-3.3.tar.gz";
url = "https://dev-www.libreoffice.org/src/libffi-3.3.tar.gz";
sha256 = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056";
md5 = "";
md5name = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056-libffi-3.3.tar.gz";
}
{
name = "libgpg-error-1.37.tar.bz2";
url = "https://dev-www.libreoffice.org/src/libgpg-error-1.37.tar.bz2";
sha256 = "b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763";
md5 = "";
md5name = "b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763-libgpg-error-1.37.tar.bz2";
}
{
name = "liblangtag-0.6.2.tar.bz2";
url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2";
sha256 = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e";
md5 = "";
md5name = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e-liblangtag-0.6.2.tar.bz2";
}
{
name = "libnumbertext-1.0.7.tar.xz";
url = "https://dev-www.libreoffice.org/src/libnumbertext-1.0.7.tar.xz";
sha256 = "17b8249cb89ae11ae15a85612d2665626c0e0e3e56b35654363ba6566d8b61fc";
md5 = "";
md5name = "17b8249cb89ae11ae15a85612d2665626c0e0e3e56b35654363ba6566d8b61fc-libnumbertext-1.0.7.tar.xz";
}
{
name = "ltm-1.0.zip";
url = "https://dev-www.libreoffice.org/src/ltm-1.0.zip";
sha256 = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483";
md5 = "";
md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip";
}
{
name = "xmlsec1-1.2.32.tar.gz";
url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.32.tar.gz";
sha256 = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043";
md5 = "";
md5name = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043-xmlsec1-1.2.32.tar.gz";
}
{
name = "libxml2-2.9.13.tar.xz";
url = "https://dev-www.libreoffice.org/src/libxml2-2.9.13.tar.xz";
sha256 = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e";
md5 = "";
md5name = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e-libxml2-2.9.13.tar.xz";
}
{
name = "libxslt-1.1.35.tar.xz";
url = "https://dev-www.libreoffice.org/src/libxslt-1.1.35.tar.xz";
sha256 = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79";
md5 = "";
md5name = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79-libxslt-1.1.35.tar.xz";
}
{
name = "lp_solve_5.5.tar.gz";
url = "https://dev-www.libreoffice.org/src/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
sha256 = "171816288f14215c69e730f7a4f1c325739873e21f946ff83884b350574e6695";
md5 = "26b3e95ddf3d9c077c480ea45874b3b8";
md5name = "26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
}
{
name = "lxml-4.1.1.tgz";
url = "https://dev-www.libreoffice.org/src/lxml-4.1.1.tgz";
sha256 = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e";
md5 = "";
md5name = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e-lxml-4.1.1.tgz";
}
{
name = "mariadb-connector-c-3.1.8-src.tar.gz";
url = "https://dev-www.libreoffice.org/src/mariadb-connector-c-3.1.8-src.tar.gz";
sha256 = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b";
md5 = "";
md5name = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b-mariadb-connector-c-3.1.8-src.tar.gz";
}
{
name = "mdds-1.7.0.tar.bz2";
url = "https://dev-www.libreoffice.org/src/mdds-1.7.0.tar.bz2";
sha256 = "a66a2a8293a3abc6cd9baff7c236156e2666935cbfb69a15d64d38141638fecf";
md5 = "";
md5name = "a66a2a8293a3abc6cd9baff7c236156e2666935cbfb69a15d64d38141638fecf-mdds-1.7.0.tar.bz2";
}
{
name = "mDNSResponder-878.200.35.tar.gz";
url = "https://dev-www.libreoffice.org/src/mDNSResponder-878.200.35.tar.gz";
sha256 = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0";
md5 = "";
md5name = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0-mDNSResponder-878.200.35.tar.gz";
}
{
name = "libmspub-0.1.4.tar.xz";
url = "https://dev-www.libreoffice.org/src/libmspub-0.1.4.tar.xz";
sha256 = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba";
md5 = "";
md5name = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba-libmspub-0.1.4.tar.xz";
}
{
name = "libmwaw-0.3.19.tar.xz";
url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.19.tar.xz";
sha256 = "b272e234eefc828c4bb8344af0f047a62e070f530e9e2fba11b04c8db8eda5af";
md5 = "";
md5name = "b272e234eefc828c4bb8344af0f047a62e070f530e9e2fba11b04c8db8eda5af-libmwaw-0.3.19.tar.xz";
}
{
name = "mythes-1.2.4.tar.gz";
url = "https://dev-www.libreoffice.org/src/a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz";
sha256 = "1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b0e0790a305f";
md5 = "a8c2c5b8f09e7ede322d5c602ff6a4b6";
md5name = "a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz";
}
{
name = "neon-0.31.2.tar.gz";
url = "https://dev-www.libreoffice.org/src/neon-0.31.2.tar.gz";
sha256 = "cf1ee3ac27a215814a9c80803fcee4f0ede8466ebead40267a9bd115e16a8678";
md5 = "";
md5name = "cf1ee3ac27a215814a9c80803fcee4f0ede8466ebead40267a9bd115e16a8678-neon-0.31.2.tar.gz";
}
{
name = "nss-3.73-with-nspr-4.32.tar.gz";
url = "https://dev-www.libreoffice.org/src/nss-3.73-with-nspr-4.32.tar.gz";
sha256 = "07a9e5b70f121a62706140d4cacc3006d3efb869da40f3a2bf7a65d37847f4d9";
md5 = "";
md5name = "07a9e5b70f121a62706140d4cacc3006d3efb869da40f3a2bf7a65d37847f4d9-nss-3.73-with-nspr-4.32.tar.gz";
}
{
name = "libodfgen-0.1.8.tar.xz";
url = "https://dev-www.libreoffice.org/src/libodfgen-0.1.8.tar.xz";
sha256 = "55200027fd46623b9bdddd38d275e7452d1b0ff8aeddcad6f9ae6dc25f610625";
md5 = "";
md5name = "55200027fd46623b9bdddd38d275e7452d1b0ff8aeddcad6f9ae6dc25f610625-libodfgen-0.1.8.tar.xz";
}
{
name = "odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
url = "https://dev-www.libreoffice.org/src/../extern/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
sha256 = "d55495ab3a86544650587de2a72180ddf8bfc6376d14ddfa923992dbc86a06e0";
md5 = "";
md5name = "d55495ab3a86544650587de2a72180ddf8bfc6376d14ddfa923992dbc86a06e0-odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
}
{
name = "officeotron-0.7.4-master.jar";
url = "https://dev-www.libreoffice.org/src/../extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
sha256 = "f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770";
md5 = "8249374c274932a21846fa7629c2aa9b";
md5name = "8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
}
{
name = "openldap-2.4.59.tgz";
url = "https://dev-www.libreoffice.org/src/openldap-2.4.59.tgz";
sha256 = "99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34";
md5 = "";
md5name = "99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34-openldap-2.4.59.tgz";
}
{
name = "openssl-1.1.1l.tar.gz";
url = "https://dev-www.libreoffice.org/src/openssl-1.1.1l.tar.gz";
sha256 = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1";
md5 = "";
md5name = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1-openssl-1.1.1l.tar.gz";
}
{
name = "liborcus-0.16.1.tar.bz2";
url = "https://dev-www.libreoffice.org/src/liborcus-0.16.1.tar.bz2";
sha256 = "c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4";
md5 = "";
md5name = "c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4-liborcus-0.16.1.tar.bz2";
}
{
name = "libpagemaker-0.0.4.tar.xz";
url = "https://dev-www.libreoffice.org/src/libpagemaker-0.0.4.tar.xz";
sha256 = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d";
md5 = "";
md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz";
}
{
name = "pdfium-4500.tar.bz2";
url = "https://dev-www.libreoffice.org/src/pdfium-4500.tar.bz2";
sha256 = "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304";
md5 = "";
md5name = "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304-pdfium-4500.tar.bz2";
}
{
name = "pixman-0.34.0.tar.gz";
url = "https://dev-www.libreoffice.org/src/e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
sha256 = "21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e";
md5 = "e80ebae4da01e77f68744319f01d52a3";
md5name = "e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
}
{
name = "libpng-1.6.37.tar.xz";
url = "https://dev-www.libreoffice.org/src/libpng-1.6.37.tar.xz";
sha256 = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca";
md5 = "";
md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz";
}
{
name = "poppler-21.11.0.tar.xz";
url = "https://dev-www.libreoffice.org/src/poppler-21.11.0.tar.xz";
sha256 = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584";
md5 = "";
md5name = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584-poppler-21.11.0.tar.xz";
}
{
name = "poppler-data-0.4.10.tar.gz";
url = "https://dev-www.libreoffice.org/src/poppler-data-0.4.10.tar.gz";
sha256 = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30";
md5 = "";
md5name = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30-poppler-data-0.4.10.tar.gz";
}
{
name = "postgresql-13.5.tar.bz2";
url = "https://dev-www.libreoffice.org/src/postgresql-13.5.tar.bz2";
sha256 = "9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3";
md5 = "";
md5name = "9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3-postgresql-13.5.tar.bz2";
}
{
name = "Python-3.8.10.tar.xz";
url = "https://dev-www.libreoffice.org/src/Python-3.8.10.tar.xz";
sha256 = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9";
md5 = "";
md5name = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9-Python-3.8.10.tar.xz";
}
{
name = "libqxp-0.0.2.tar.xz";
url = "https://dev-www.libreoffice.org/src/libqxp-0.0.2.tar.xz";
sha256 = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c";
md5 = "";
md5name = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c-libqxp-0.0.2.tar.xz";
}
{
name = "raptor2-2.0.15.tar.gz";
url = "https://dev-www.libreoffice.org/src/a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
sha256 = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed";
md5 = "a39f6c07ddb20d7dd2ff1f95fa21e2cd";
md5name = "a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
}
{
name = "rasqal-0.9.33.tar.gz";
url = "https://dev-www.libreoffice.org/src/1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
sha256 = "6924c9ac6570bd241a9669f83b467c728a322470bf34f4b2da4f69492ccfd97c";
md5 = "1f5def51ca0026cd192958ef07228b52";
md5name = "1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
}
{
name = "redland-1.0.17.tar.gz";
url = "https://dev-www.libreoffice.org/src/e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681";
md5 = "e5be03eda13ef68aabab6e42aa67715e";
md5name = "e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
}
{
name = "librevenge-0.0.4.tar.bz2";
url = "https://dev-www.libreoffice.org/src/librevenge-0.0.4.tar.bz2";
sha256 = "c51601cd08320b75702812c64aae0653409164da7825fd0f451ac2c5dbe77cbf";
md5 = "";
md5name = "c51601cd08320b75702812c64aae0653409164da7825fd0f451ac2c5dbe77cbf-librevenge-0.0.4.tar.bz2";
}
{
name = "rhino1_5R5.zip";
url = "https://dev-www.libreoffice.org/src/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
sha256 = "1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753";
md5 = "798b2ffdc8bcfe7bca2cf92b62caf685";
md5name = "798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
}
{
name = "serf-1.3.9.tar.bz2";
url = "https://dev-www.libreoffice.org/src/serf-1.3.9.tar.bz2";
sha256 = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc";
md5 = "";
md5name = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc-serf-1.3.9.tar.bz2";
}
{
name = "skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
url = "https://dev-www.libreoffice.org/src/skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
sha256 = "abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d";
md5 = "";
md5name = "abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d-skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
}
{
name = "libstaroffice-0.0.7.tar.xz";
url = "https://dev-www.libreoffice.org/src/libstaroffice-0.0.7.tar.xz";
sha256 = "f94fb0ad8216f97127bedef163a45886b43c62deac5e5b0f5e628e234220c8db";
md5 = "";
md5name = "f94fb0ad8216f97127bedef163a45886b43c62deac5e5b0f5e628e234220c8db-libstaroffice-0.0.7.tar.xz";
}
{
name = "swingExSrc.zip";
url = "https://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
sha256 = "64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1";
md5 = "35c94d2df8893241173de1d16b6034c0";
md5name = "35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
}
{
name = "twaindsm_2.4.1.orig.tar.gz";
url = "https://dev-www.libreoffice.org/src/twaindsm_2.4.1.orig.tar.gz";
sha256 = "82c818be771f242388457aa8c807e4b52aa84dc22b21c6c56184a6b4cbb085e6";
md5 = "";
md5name = "82c818be771f242388457aa8c807e4b52aa84dc22b21c6c56184a6b4cbb085e6-twaindsm_2.4.1.orig.tar.gz";
}
{
name = "ucpp-1.3.2.tar.gz";
url = "https://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz";
sha256 = "983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776";
md5 = "0168229624cfac409e766913506961a8";
md5name = "0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz";
}
{
name = "libvisio-0.1.7.tar.xz";
url = "https://dev-www.libreoffice.org/src/libvisio-0.1.7.tar.xz";
sha256 = "8faf8df870cb27b09a787a1959d6c646faa44d0d8ab151883df408b7166bea4c";
md5 = "";
md5name = "8faf8df870cb27b09a787a1959d6c646faa44d0d8ab151883df408b7166bea4c-libvisio-0.1.7.tar.xz";
}
{
name = "libwpd-0.10.3.tar.xz";
url = "https://dev-www.libreoffice.org/src/libwpd-0.10.3.tar.xz";
sha256 = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09";
md5 = "";
md5name = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09-libwpd-0.10.3.tar.xz";
}
{
name = "libwpg-0.3.3.tar.xz";
url = "https://dev-www.libreoffice.org/src/libwpg-0.3.3.tar.xz";
sha256 = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c";
md5 = "";
md5name = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c-libwpg-0.3.3.tar.xz";
}
{
name = "libwps-0.4.12.tar.xz";
url = "https://dev-www.libreoffice.org/src/libwps-0.4.12.tar.xz";
sha256 = "e21afb52a06d03b774c5a8c72679687ab64891b91ce0c3bdf2d3e97231534edb";
md5 = "";
md5name = "e21afb52a06d03b774c5a8c72679687ab64891b91ce0c3bdf2d3e97231534edb-libwps-0.4.12.tar.xz";
}
{
name = "xsltml_2.1.2.zip";
url = "https://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
sha256 = "75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870";
md5 = "a7983f859eafb2677d7ff386a023bc40";
md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
}
{
name = "zlib-1.2.11.tar.xz";
url = "https://dev-www.libreoffice.org/src/zlib-1.2.11.tar.xz";
sha256 = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066";
md5 = "";
md5name = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066-zlib-1.2.11.tar.xz";
}
{
name = "libzmf-0.0.2.tar.xz";
url = "https://dev-www.libreoffice.org/src/libzmf-0.0.2.tar.xz";
sha256 = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22";
md5 = "";
md5name = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22-libzmf-0.0.2.tar.xz";
}
{
name = "zxing-cpp-1.1.1.tar.gz";
url = "https://dev-www.libreoffice.org/src/zxing-cpp-1.1.1.tar.gz";
sha256 = "e595b3fa2ec320beb0b28f6af56b1141853257c2611686685639cebb3b248c86";
md5 = "";
md5name = "e595b3fa2ec320beb0b28f6af56b1141853257c2611686685639cebb3b248c86-zxing-cpp-1.1.1.tar.gz";
}
]

View file

@ -0,0 +1,48 @@
{ lib, kdeIntegration, commonsLogging, ... }:
attrs:
{
postConfigure = attrs.postConfigure + ''
sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/inc/swmodeltestbase.hxx'
sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
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(test);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testConditionalFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF16LErtlSHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256ODF12);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256W3C);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testProtectionKeyODS_XL_SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testColorScaleExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testDataBarExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testNamedRangeBugfdo62729);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testRichTextExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testFormulaRefSheetNameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testCellValuesExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testCellNoteExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testEmbeddedChartODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testCellAnchoredGroupXLS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testCeilingFloorODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testRelativePathsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testSheetProtectionODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testSwappedOutImageExport);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testLinkedGraphicRT);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testImageWithSpecialID);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testAbsNamedRangeHTML);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testMoveCellAnchoredShapesODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testRefStringUnspecified);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testHeaderImageODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testTdf88657ODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testExponentWithoutSignFormatXLSX);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testHiddenRepeatedRowsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
sed -e '/CPPUNIT_TEST(testHyperlinkTargetFrameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
'';
configureFlags = attrs.configureFlags ++ [
(lib.enableFeature kdeIntegration "kf5")
"--without-system-zxing"
];
patches = attrs.patches or [];
}

View file

@ -0,0 +1,36 @@
{ fetchurl }:
rec {
fetchSrc = {name, sha256}: fetchurl {
url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
inherit sha256;
};
major = "7";
minor = "2";
patch = "6";
tweak = "2";
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 = "sha256-SDdlqYuS2Q6MjHNeCNM8KjS1/h+8jn9rH5x0rRoUHjE=";
};
# FIXME rename
translations = fetchSrc {
name = "translations";
sha256 = "sha256-fUZflmrCi4mOa6iZTm+K9IvRTlSjcI4UJ4EoyK/HHck=";
};
# the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
# it and LibreOffice can use these by pointing DICPATH environment variable at the hunspell directory
help = fetchSrc {
name = "help";
sha256 = "sha256-TjAgz7yV7y5VNrEuT2eElkNGZzh6J58T1TC3u2Ap2o4=";
};
}

View file

@ -0,0 +1,32 @@
{ lib, runCommand
, libreoffice, dbus, bash, substituteAll
, dolphinTemplates ? true
}:
runCommand libreoffice.name {
inherit (libreoffice) jdk meta;
inherit dbus libreoffice bash;
} (''
mkdir -p "$out/bin"
substituteAll "${./wrapper.sh}" "$out/bin/soffice"
chmod a+x "$out/bin/soffice"
for i in $(ls "${libreoffice}/bin/"); do
test "$i" = "soffice" || ln -s soffice "$out/bin/$(basename "$i")"
done
mkdir -p "$out/share"
ln -s "${libreoffice}/share"/* $out/share
'' + lib.optionalString dolphinTemplates ''
# Add templates to dolphin "Create new" menu - taken from debian
# We need to unpack the core source since the necessary files aren't available in the libreoffice output
unpackFile "${libreoffice.src}"
install -D "${libreoffice.name}"/extras/source/shellnew/soffice.* --target-directory="$out/share/templates/.source"
cp ${substituteAll {src = ./soffice-template.desktop; app="Writer"; ext="odt"; type="text"; }} $out/share/templates/soffice.odt.desktop
cp ${substituteAll {src = ./soffice-template.desktop; app="Calc"; ext="ods"; type="spreadsheet"; }} $out/share/templates/soffice.ods.desktop
cp ${substituteAll {src = ./soffice-template.desktop; app="Impress"; ext="odp"; type="presentation";}} $out/share/templates/soffice.odp.desktop
cp ${substituteAll {src = ./soffice-template.desktop; app="Draw"; ext="odg"; type="drawing"; }} $out/share/templates/soffice.odg.desktop
'')

View file

@ -0,0 +1,32 @@
#!@bash@/bin/bash
export JAVA_HOME="${JAVA_HOME:-@jdk@}"
#export SAL_USE_VCLPLUGIN="${SAL_USE_VCLPLUGIN:-gen}"
if uname | grep Linux > /dev/null &&
! ( test -n "$DBUS_SESSION_BUS_ADDRESS" ); then
dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus"
if ! test -d "$dbus_tmp_dir" && test -d "/run"; then
mkdir -p "$dbus_tmp_dir"
fi
if ! test -d "$dbus_tmp_dir"; then
dbus_tmp_dir="/tmp/libreoffice-$(id -u)/libreoffice-dbus"
mkdir -p "$dbus_tmp_dir"
fi
dbus_socket_dir="$(mktemp -d -p "$dbus_tmp_dir")"
"@dbus@"/bin/dbus-daemon --nopidfile --nofork --config-file "@dbus@"/share/dbus-1/session.conf --address "unix:path=$dbus_socket_dir/session" &> /dev/null &
dbus_pid=$!
export DBUS_SESSION_BUS_ADDRESS="unix:path=$dbus_socket_dir/session"
fi
for PROFILE in $NIX_PROFILES; do
HDIR="$PROFILE/share/hunspell"
if [ -d "$HDIR" ]; then
export DICPATH=$DICPATH''${DICPATH:+:}$HDIR
fi
done
"@libreoffice@/bin/$(basename "$0")" "$@"
code="$?"
test -n "$dbus_socket_dir" && { rm -rf "$dbus_socket_dir"; kill $dbus_pid; }
exit "$code"

View file

@ -0,0 +1,147 @@
{ fetchurl, lib, stdenv, mkDerivation, dpkg, which
, makeWrapper
, alsa-lib
, desktop-file-utils
, dbus
, libcap
, fontconfig
, freetype
, gcc
, gconf
, glib
, icu
, libxml2
, libxslt
, orc
, nss
, nspr
, qtbase
, qtsvg
, qtdeclarative
, qtwebchannel
, qtquickcontrols
, qtwebkit
, qtwebengine
, sqlite
, xorg
, zlib
# The provided wrapper does this, but since we don't use it
# we emulate the behavior. The downside is that this
# will leave entries on your system after uninstalling mendeley.
# (they can be removed by running '$out/bin/install-mendeley-link-handler.sh -u')
, autorunLinkHandler ? true
# Update script
, writeScript
, runtimeShell
}:
let
arch32 = "i686-linux";
arch = if stdenv.hostPlatform.system == arch32
then "i386"
else "amd64";
shortVersion = "1.19.5-stable";
version = "${shortVersion}_${arch}";
url = "http://desktop-download.mendeley.com/download/apt/pool/main/m/mendeleydesktop/mendeleydesktop_${version}.deb";
sha256 = if stdenv.hostPlatform.system == arch32
then "01x83a44qlxi937b128y8y0px0q4w37g72z652lc42kv50dhyy3f"
else "1cagqq0xziznaj97z30bqfhrwjv3a4h83ckhwigq35nhk1ggq1ry";
deps = [
qtbase
qtsvg
qtdeclarative
qtwebchannel
qtquickcontrols
qtwebkit
qtwebengine
alsa-lib
dbus
freetype
fontconfig
gcc.cc
gconf
glib
icu
libcap
libxml2
libxslt
nspr
nss
orc
sqlite
xorg.libX11
xorg.xcbutilkeysyms
xorg.libxcb
xorg.libXcomposite
xorg.libXext
xorg.libXrender
xorg.libXi
xorg.libXcursor
xorg.libXtst
xorg.libXrandr
xorg.xcbutilimage
zlib
];
in
mkDerivation {
pname = "mendeley";
inherit version;
src = fetchurl {
url = url;
sha256 = sha256;
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ dpkg which ] ++ deps;
propagatedUserEnvPkgs = [ gconf ];
dontUnpack = true;
dontWrapQtApps = true;
installPhase = ''
dpkg-deb -x $src $out
mv $out/opt/mendeleydesktop/{bin,lib,share} $out
interpreter=$(patchelf --print-interpreter $(readlink -f $(which patchelf)))
patchelf --set-interpreter $interpreter \
--set-rpath ${lib.makeLibraryPath deps}:$out/lib \
$out/bin/mendeleydesktop
wrapQtApp $out/bin/mendeleydesktop \
--add-flags "--unix-distro-build" \
${lib.optionalString autorunLinkHandler # ignore errors installing the link handler
''--run "$out/bin/install-mendeley-link-handler.sh $out/bin/mendeleydesktop ||:"''}
# Remove bundled qt bits
rm -rf $out/lib/qt
rm $out/bin/qt* $out/bin/Qt*
# Patch up link handler script
wrapProgram $out/bin/install-mendeley-link-handler.sh \
--prefix PATH ':' ${lib.makeBinPath [ which gconf desktop-file-utils ] }
'';
dontStrip = true;
dontPatchELF = true;
updateScript = import ./update.nix { inherit writeScript runtimeShell; };
meta = with lib; {
homepage = "https://www.mendeley.com";
description = "A reference manager and academic social network";
license = licenses.unfree;
platforms = [ "x86_64-linux" "i686-linux" ];
maintainers = with maintainers; [ dtzWill ];
};
}

View file

@ -0,0 +1,61 @@
{ writeScript, runtimeShell }:
writeScript "update-mendeley" ''
#!${runtimeShell}
function follow() {
local URL=$1
while true; do
NEWURL=$(curl -m20 -sI "$URL" -o /dev/null -w '%{redirect_url}')
[ -z "$NEWURL" ] && break
[[ $NEWURL = $URL ]] && (echo "redirect loop?!"; exit 1)
echo "Following $URL -> $NEWURL ..." >&2
URL=$NEWURL
done
echo $URL
}
amd64URL=$(follow https://www.mendeley.com/repositories/ubuntu/stable/amd64/mendeleydesktop-latest)
amd64V=$(basename $amd64URL|grep -m1 -o "[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?")
i386URL=$(follow https://www.mendeley.com/repositories/ubuntu/stable/i386/mendeleydesktop-latest)
i386V=$(basename $i386URL|grep -m1 -o "[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?")
echo "amd64 version: $amd64V"
echo "i386 version: $i386V"
if [[ $amd64V != $i386V ]]; then
echo "Versions not the same!"
exit 1
fi
if grep -q -F "$amd64V" ${./default.nix}; then
echo "No new version yet, nothing to do."
echo "Have a nice day!"
exit 0
fi
amd64OldHash=$(nix-instantiate --eval --strict -A "mendeley.src.drvAttrs.outputHash" --argstr system "x86_64-linux"| tr -d '"')
i386OldHash=$(nix-instantiate --eval --strict -A "mendeley.src.drvAttrs.outputHash" --argstr system "i686-linux"| tr -d '"')
echo "Prefetching amd64..."
amd64NewHash=$(nix-prefetch-url $amd64URL)
echo "Prefetching i386..."
i386NewHash=$(nix-prefetch-url $i386URL)
# Don't actually update, just report that an update is available
cat <<EOF
Time to update to $amd64V !
32bit (i386):
Old: $i386OldHash
New: $i386NewHash
64bit (amd64):
Old: $amd64OldHash
New: $amd64NewHash
Exiting so this information is seen...
(no update is actually performed here)
EOF
exit 1
''

View file

@ -0,0 +1,101 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchzip
, makeWrapper
, makeDesktopItem
, mkYarnPackage
, electron
, desktopToDarwinBundle
, copyDesktopItems
}:
let
executableName = "micropad";
electron_exec =
if stdenv.isDarwin
then "${electron}/Applications/Electron.app/Contents/MacOS/Electron"
else "${electron}/bin/electron";
in
mkYarnPackage rec {
pname = "micropad";
version = "3.30.6";
src = fetchFromGitHub {
owner = "MicroPad";
repo = "Micropad-Electron";
rev = "v${version}";
sha256 = "sha256-v3hnHG6FMW2xBU/DnenqjFizQv/OZ9cW99n/3SoENe8=";
};
micropad-core = fetchzip {
url = "https://github.com/MicroPad/MicroPad-Core/releases/download/v${version}/micropad.tar.xz";
hash = "sha256-aqshYbVrQg6tYtTlO91FGiH7DuueOA0OU5KGCVc7XvI=";
};
packageJSON = ./package.json;
yarnLock = ./yarn.lock;
yarnNix = ./yarn.nix;
nativeBuildInputs = [ copyDesktopItems makeWrapper ]
++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ];
buildPhase = ''
runHook preBuild
pushd deps/micropad/
yarn --offline build
popd
runHook postBuild
'';
installPhase = ''
runHook preInstall
# resources
mkdir -p "$out/share/"
cp -r './deps/micropad' "$out/share/micropad"
ln -s '${micropad-core}' "$out/share/micropad/core"
rm "$out/share/micropad/node_modules"
cp -r './node_modules' "$out/share/micropad"
# icons
for icon in $out/share/micropad/build/icons/*.png; do
mkdir -p "$out/share/icons/hicolor/$(basename $icon .png | sed -e 's/^icon-//')/apps"
ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png | sed -e 's/^icon-//')/apps/micropad.png"
done
# executable wrapper
makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
--add-flags "$out/share/micropad" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
runHook postInstall
'';
# Do not attempt generating a tarball for micropad again.
# note: `doDist = false;` does not work.
distPhase = ''
true
'';
# The desktop item properties should be kept in sync with data from upstream:
# https://github.com/MicroPad/MicroPad-Electron/blob/master/package.json
desktopItems = [
(makeDesktopItem {
name = "micropad";
exec = "${executableName} %u";
icon = "micropad";
desktopName = "µPad";
startupWMClass = "µPad";
comment = meta.description;
categories = ["Office"];
})
];
meta = with lib; {
description = "A powerful note-taking app that helps you organise + take notes without restrictions";
homepage = "https://getmicropad.com/";
license = licenses.mpl20;
maintainers = with maintainers; [rhysmdnz];
inherit (electron.meta) platforms;
};
}

View file

@ -0,0 +1,87 @@
{
"name": "micropad",
"version": "3.30.5",
"description": "A powerful note-taking app that helps you organise + take notes without restrictions.",
"main": "main.js",
"scripts": {
"start": "yarn build && yarn electron . --is-dev --no-sandbox",
"build": "yarn tsc -p tsconfig.json",
"update-core": "rm -rf core && rm -rf tmp && mkdir tmp && wget https://github.com/MicroPad/MicroPad-Core/releases/download/v${npm_package_version}/micropad.tar.xz -P ./tmp && cd tmp && tar -xf micropad.tar.xz && rm build/*.map && rm build/static/*/*.map && cp -r build ../core && cd .. && rm -rf tmp",
"pack": "yarn build && yarn electron-builder --dir",
"dist": "yarn build && yarn electron-builder"
},
"repository": {
"type": "git",
"url": "git+https://github.com/MicroPad/Electron.git"
},
"author": {
"name": "Nick Webster",
"email": "nick@nick.geek.nz"
},
"license": "MPL-2.0",
"bugs": {
"url": "https://github.com/MicroPad/Electron/issues"
},
"homepage": "https://getmicropad.com",
"devDependencies": {
"electron": "^17.1.0",
"electron-builder": "^23.0.2",
"typescript": "~4.5.4"
},
"dependencies": {
"dictionary-en": "^3.0.0",
"dictionary-en-au": "^2.1.1",
"electron-context-menu": "^3.1.2",
"localforage": "^1.10.0",
"typo-js": "^1.2.1"
},
"build": {
"appId": "com.getmicropad.micropad",
"productName": "µPad",
"publish": {
"provider": "github",
"releaseType": "release"
},
"asarUnpack": [
"preload.js"
],
"linux": {
"target": [
"tar.gz",
"AppImage",
"snap",
"deb",
"rpm",
"pacman"
],
"executableName": "micropad",
"category": "Office",
"icon": "build/icons"
},
"pacman": {
"depends": [
"gtk3"
]
},
"snap": {
"publish": {
"provider": "github",
"releaseType": "release"
}
},
"mac": {
"target": {
"target": "dmg",
"arch": "universal"
},
"category": "public.app-category.productivity",
"identity": null
},
"win": {
"target": [
"nsis",
"portable"
]
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,32 @@
{ lib, stdenv, fetchFromGitHub, sqlite, wxGTK30, gettext, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "money-manager-ex";
version = "1.3.3";
src = fetchFromGitHub {
owner = "moneymanagerex";
repo = "moneymanagerex";
rev = "refs/tags/v${version}";
sha256 = "sha256-5NgkP9gY4eDBoKSC/IaXiHoiz+ZdU4c/iGAzPf5IlmQ=";
};
nativeBuildInputs = [
wrapGAppsHook
];
buildInputs = [
gettext
sqlite
wxGTK30
wxGTK30.gtk
];
meta = {
description = "Easy-to-use personal finance software";
homepage = "https://www.moneymanagerex.org/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [viric];
platforms = with lib.platforms; linux;
};
}

View file

@ -0,0 +1,122 @@
{ lib, stdenv, fetchurl, patchelf, coreutils, pcsclite
, zlib, glib, gdk-pixbuf, gtk2, cairo, pango, libX11, atk, openssl
, runtimeShell }:
let
libPath = lib.makeLibraryPath [
stdenv.cc.cc zlib glib gdk-pixbuf gtk2 cairo pango libX11 atk openssl
];
src_i686 = {
url = "http://www.matrica.com/download/distribution/moneyplex_16_install32_22424.tar.gz";
sha256 = "0yfpc6s85r08g796dycl378kagkma865vp7j72npia3hjc4vwamr";
};
src_x86_64 = {
url = "http://www.matrica.com/download/distribution/moneyplex_16_install64_22424.tar.gz";
sha256 = "03vxbg1yp8qyvcn6bw2a5s134nxzq9cn0vqbmlld7hh4knbsfqzw";
};
in
stdenv.mkDerivation {
pname = "moneyplex";
version = "16.0.22424";
src = fetchurl (if stdenv.hostPlatform.system == "i686-linux" then src_i686
else if stdenv.hostPlatform.system == "x86_64-linux" then src_x86_64
else throw "moneyplex requires i686-linux or x86_64-linux");
phases = [ "unpackPhase" "installPhase" "postInstall" ];
buildInputs = [ ];
installPhase =
''
mkdir -p "$out/opt/moneyplex"
cp -r . $out/opt/moneyplex
mkdir "$out/bin"
cat > $out/bin/moneyplex <<EOF
#!${runtimeShell}
if [ -z "\$XDG_DATA_HOME" ]; then
MDIR=\$HOME/.local/share/moneyplex
else
MDIR=\$XDG_DATA_HOME/moneyplex
fi
if [ ! -d "\$MDIR" ]; then
${coreutils}/bin/mkdir -p \$MDIR
${coreutils}/bin/cp -r $out/opt/moneyplex/* \$MDIR
${coreutils}/bin/chmod 0644 \$MDIR/*
${coreutils}/bin/chmod 0755 \$MDIR/system
${coreutils}/bin/chmod 0644 \$MDIR/system/*
${coreutils}/bin/chmod 0755 \$MDIR/reports
${coreutils}/bin/chmod 0644 \$MDIR/reports/*
${coreutils}/bin/chmod 0755 \$MDIR/moneyplex
${coreutils}/bin/chmod 0755 \$MDIR/prestart
${coreutils}/bin/chmod 0755 \$MDIR/mpxalarm
fi
if [ ! -d "\$MDIR/pcsc" ]; then
${coreutils}/bin/mkdir -p \$MDIR/pcsc
fi
if [ ! -e "\$MDIR/pcsc/libpcsclite.so.1" ] || [ ! \`${coreutils}/bin/readlink -f "\$MDIR/pcsc/libpcsclite.so.1"\` -ef "${lib.getLib pcsclite}/lib/libpcsclite.so.1" ]; then
${coreutils}/bin/ln -sf "${lib.getLib pcsclite}/lib/libpcsclite.so.1" "\$MDIR/pcsc/libpcsclite.so.1"
fi
if [ -e "\$MDIR/rup/rupremote.lst" ]; then
for i in \`${coreutils}/bin/cat "\$MDIR/rup/rupremote.lst"\`; do
${coreutils}/bin/mv "\$MDIR/rup/"\`${coreutils}/bin/basename \$i\` "\$MDIR/\$i"
done
rm -r "\$MDIR/rup/rupremote.lst"
fi
if [ ! -e "\$MDIR/moneyplex.patched" ] || [ "\$MDIR/moneyplex" -nt "\$MDIR/moneyplex.patched" ]; then
${coreutils}/bin/cp "\$MDIR/moneyplex" "\$MDIR/moneyplex.patched"
${coreutils}/bin/chmod 0755 "\$MDIR/moneyplex.patched"
fi
if [ ! \`${patchelf}/bin/patchelf --print-interpreter \$MDIR/moneyplex.patched\` = $(cat $NIX_CC/nix-support/dynamic-linker) ] ||
[ ! \`${patchelf}/bin/patchelf --print-rpath \$MDIR/moneyplex.patched\` = "${libPath}" ]; then
${patchelf}/bin/patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath "${libPath}" "\$MDIR/moneyplex.patched"
fi
exec \$MDIR/moneyplex.patched
EOF
chmod +x $out/bin/moneyplex
'';
postInstall = ''
mkdir -p $out/share/icons
cp -r $out/opt/moneyplex/system/mpx256.png $out/share/icons/moneyplex.png
mkdir -p $out/share/applications
cat > $out/share/applications/moneyplex.desktop <<EOF
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Moneyplex
GenericName=Moneyplex online banking software
Comment=Online banking software
Icon=$out/share/icons/moneyplex.png
Exec=$out/bin/moneyplex
Terminal=false
Categories=Application;
StartupNotify=true
EOF
'';
meta = with lib; {
description = "Moneyplex online banking software";
maintainers = with maintainers; [ tstrobel ];
platforms = platforms.linux;
license = licenses.unfree;
downloadPage = "http://matrica.de/download/download.html";
};
}

View file

@ -0,0 +1,59 @@
{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron
, nodePackages, alsa-lib, gtk3, libxshmfence, mesa, nss }:
stdenv.mkDerivation rec {
pname = "morgen";
version = "2.5.2";
src = fetchurl {
url = "https://download.todesktop.com/210203cqcj00tw1/morgen-${version}.deb";
sha256 = "sha256-KU58UjhFDEJGzHEGVbrii8a9cZwr7ulkQgK1Fea9smk=";
};
nativeBuildInputs = [
dpkg
autoPatchelfHook
makeWrapper
nodePackages.asar
];
buildInputs = [ alsa-lib gtk3 libxshmfence mesa nss ];
dontBuild = true;
dontConfigure = true;
unpackCmd = ''
dpkg-deb -x ${src} ./morgen-${pname}
'';
installPhase = ''
runHook preInstall
mv usr $out
mv opt $out
asar extract $out/opt/Morgen/resources/app.asar "$TMP/work"
# 1. Fixes path for todesktop-runtime-config.json
# 2. Fixes startup script
substituteInPlace $TMP/work/dist/main.js \
--replace "process.resourcesPath,\"todesktop-runtime-config.json" "\"$out/opt/Morgen/resources/todesktop-runtime-config.json" \
--replace "Exec=\"+process.execPath+\"" "Exec=$out/bin/morgen"
asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" $out/opt/Morgen/resources/app.asar
substituteInPlace $out/share/applications/morgen.desktop \
--replace '/opt/Morgen' $out/bin
makeWrapper ${electron}/bin/electron $out/bin/morgen \
--add-flags $out/opt/Morgen/resources/app.asar
runHook postInstall
'';
meta = with lib; {
description = "All-in-one Calendars, Tasks and Scheduler";
homepage = "https://morgen.so/download";
license = licenses.unfree;
maintainers = with maintainers; [ wolfangaukang ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -0,0 +1,40 @@
{ lib, mkDerivation, fetchFromGitHub, qmake, qtsvg, makeWrapper, xdg-utils }:
mkDerivation rec {
pname = "mytetra";
version = "1.44.55";
src = fetchFromGitHub {
owner = "xintrea";
repo = "mytetra_dev";
rev = "v.${version}";
sha256 = "sha256-jQXnDoLkqbDZxfsYKPDsTOE7p/BFeA8wEznpbkRVGdw=";
};
nativeBuildInputs = [ qmake makeWrapper ];
buildInputs = [ qtsvg ];
hardeningDisable = [ "format" ];
preBuild = ''
substituteInPlace app/app.pro \
--replace /usr/local/bin $out/bin \
--replace /usr/share $out/share
substituteInPlace app/src/views/mainWindow/MainWindow.cpp \
--replace ":/resource/pic/logo.svg" "$out/share/icons/hicolor/48x48/apps/mytetra.png"
'';
postFixup = ''
wrapProgram $out/bin/mytetra \
--prefix PATH : ${xdg-utils}/bin
'';
meta = with lib; {
description = "Smart manager for information collecting";
homepage = "https://webhamster.ru/site/page/index/articles/projectcode/138";
license = licenses.gpl3;
maintainers = [ ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,75 @@
{ lib
, stdenv
, fetchFromGitHub
, nix-update-script
, desktop-file-utils
, meson
, ninja
, pkg-config
, python3
, vala
, wrapGAppsHook
, discount
, glib
, gtk3
, gtksourceview4
, gtkspell3
, libgee
, pantheon
, sqlite
, webkitgtk
}:
stdenv.mkDerivation rec {
pname = "notes-up";
version = "2.0.6";
src = fetchFromGitHub {
owner = "Philip-Scott";
repo = "Notes-up";
rev = version;
sha256 = "sha256-t9BCtdWd2JLrKTcmri1Lgl5RLBYD2xWCtMxoVXz0XPk=";
};
nativeBuildInputs = [
desktop-file-utils
meson
ninja
pkg-config
python3
vala
wrapGAppsHook
];
buildInputs = [
discount
glib
gtk3
gtksourceview4
gtkspell3
libgee
pantheon.granite
sqlite
webkitgtk
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
passthru = {
updateScript = nix-update-script {
attrPath = pname;
};
};
meta = with lib; {
description = "Markdown notes editor and manager designed for elementary OS";
homepage = "https://github.com/Philip-Scott/Notes-up";
license = licenses.gpl2Only;
maintainers = with maintainers; [ ] ++ teams.pantheon.members;
platforms = platforms.linux;
mainProgram = "com.github.philip_scott.notes-up";
};
}

View file

@ -0,0 +1,32 @@
{ appimageTools, lib, fetchurl }:
let
pname = "notion-app-enhanced";
version = "2.0.18-1";
name = "${pname}-v${version}";
src = fetchurl {
url = "https://github.com/notion-enhancer/notion-repackaged/releases/download/v${version}/Notion-Enhanced-${version}.AppImage";
sha256 = "sha256-SqeMnoMzxxaViJ3NPccj3kyMc1xvXWULM6hQIDZySWY=";
};
appimageContents = appimageTools.extract { inherit name src; };
in appimageTools.wrapType2 {
inherit name src;
extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
cp -r ${appimageContents}/usr/share/icons $out/share
'';
meta = with lib; {
description = "Notion Desktop builds with Notion Enhancer for Windows, MacOS and Linux.";
homepage = "https://github.com/notion-enhancer/desktop";
license = licenses.unfree;
maintainers = with maintainers; [ sei40kr ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -0,0 +1,177 @@
{ stdenv
, lib
, fetchurl
# Alphabetic ordering below
, alsa-lib
, at-spi2-atk
, atk
, autoPatchelfHook
, cairo
, curl
, dbus
, dconf
, dpkg
, fontconfig
, gdk-pixbuf
, glib
, glibc
, gsettings-desktop-schemas
, gst_all_1
, gtk2
, gtk3
, libpulseaudio
, libudev0-shim
, libdrm
, makeWrapper
, nspr
, nss
, pulseaudio
, qt5
, wrapGAppsHook
, xkeyboard_config
, xorg
}:
let
# Note on fonts:
#
# OnlyOffice does not distribute unfree fonts, but makes it easy to pick up
# any fonts you install. See:
#
# * https://helpcenter.onlyoffice.com/en/installation/docs-community-install-fonts-linux.aspx
# * https://www.onlyoffice.com/blog/2020/04/how-to-add-new-fonts-to-onlyoffice-desktop-editors/
#
# As recommended there, you should download
#
# arial.ttf, calibri.ttf, cour.ttf, symbol.ttf, times.ttf, wingding.ttf
#
# into `~/.local/share/fonts/`, otherwise the default template fonts, and
# things like bullet points, will not look as expected.
# TODO: Find out which of these fonts we'd be allowed to distribute along
# with this package, or how to make this easier for users otherwise.
# Not using the `noto-fonts-cjk` package from nixpkgs, because it was
# reported that its `.ttc` file is not picked up by OnlyOffice, see:
# https://github.com/NixOS/nixpkgs/pull/116343#discussion_r593979816
noto-fonts-cjk = fetchurl {
url =
let
version = "v20201206-cjk";
in
"https://github.com/googlefonts/noto-cjk/raw/${version}/NotoSansCJKsc-Regular.otf";
sha256 = "sha256-aJXSVNJ+p6wMAislXUn4JQilLhimNSedbc9nAuPVxo4=";
};
runtimeLibs = lib.makeLibraryPath [
curl
glibc
libudev0-shim
pulseaudio
];
in
stdenv.mkDerivation rec {
pname = "onlyoffice-desktopeditors";
version = "6.3.1";
minor = null;
src = fetchurl {
url = "https://github.com/ONLYOFFICE/DesktopEditors/releases/download/v${version}/onlyoffice-desktopeditors_amd64.deb";
sha256 = "sha256-WCjCljA7yB7Zm/I4rDZnfgaUQpDUKwbUvL7hkIG8cVM=";
};
nativeBuildInputs = [
autoPatchelfHook
dpkg
makeWrapper
wrapGAppsHook
];
buildInputs = [
alsa-lib
at-spi2-atk
atk
cairo
dbus
dconf
fontconfig
gdk-pixbuf
glib
gsettings-desktop-schemas
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
gtk2
gtk3
libpulseaudio
libdrm
nspr
nss
qt5.qtbase
qt5.qtdeclarative
qt5.qtsvg
xorg.libX11
xorg.libxcb
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXScrnSaver
xorg.libXtst
];
dontWrapQtApps = true;
unpackPhase = ''
dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner
'';
preConfigure = ''
cp --no-preserve=mode,ownership ${noto-fonts-cjk} opt/onlyoffice/desktopeditors/fonts/
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib,share}
mv usr/bin/* $out/bin
mv usr/share/* $out/share/
mv opt/onlyoffice/desktopeditors $out/share
substituteInPlace $out/bin/onlyoffice-desktopeditors \
--replace "/opt/onlyoffice/" "$out/share/"
ln -s $out/share/desktopeditors/DesktopEditors $out/bin/DesktopEditors
substituteInPlace $out/share/applications/onlyoffice-desktopeditors.desktop \
--replace "/usr/bin/onlyoffice-desktopeditor" "$out/bin/DesktopEditor"
runHook postInstall
'';
preFixup = ''
gappsWrapperArgs+=(
--prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
--set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
--set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale" \
--set QT_QPA_PLATFORM "xcb"
# the bundled version of qt does not support wayland
)
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "Office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents";
homepage = "https://www.onlyoffice.com/";
downloadPage = "https://github.com/ONLYOFFICE/DesktopEditors/releases";
changelog = "https://github.com/ONLYOFFICE/DesktopEditors/blob/master/CHANGELOG.md";
platforms = [ "x86_64-linux" ];
license = licenses.agpl3Plus;
maintainers = with maintainers; [ nh2 gtrunsec ];
};
}

View file

@ -0,0 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
version="$(curl -sL "https://api.github.com/repos/ONLYOFFICE/DesktopEditors/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')"
update-source-version onlyoffice-bin "$version"

View file

@ -0,0 +1,24 @@
{ lib, stdenv, fetchurl, pkg-config, gtk3, libxml2, gettext, libical, libnotify
, libarchive, gspell, webkitgtk, libgringotts, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "osmo";
version = "0.4.4";
src = fetchurl {
url = "mirror://sourceforge/osmo-pim/${pname}-${version}.tar.gz";
sha256 = "19h3dnjgqbawnvgnycyp4n5b6mjsp5zghn3b69b6f3xa3fyi32qy";
};
nativeBuildInputs = [ pkg-config gettext wrapGAppsHook ];
buildInputs = [ gtk3 libxml2 libical libnotify libarchive
gspell webkitgtk libgringotts ];
meta = with lib; {
description = "A handy personal organizer";
homepage = "https://clayo.org/osmo/";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ pSub ];
};
}

View file

@ -0,0 +1,55 @@
{ lib, stdenv, appimageTools, desktop-file-utils, fetchurl }:
let
version = "2020.10.111";
name = "p3x-onenote-${version}";
plat = {
aarch64-linux = "-arm64";
armv7l-linux = "-armv7l";
i386-linux = "-i386";
i686-linux = "-i386";
x86_64-linux = "";
}.${stdenv.hostPlatform.system};
sha256 = {
aarch64-linux = "0a3c0w1312l6k2jvn7cn8priibnh8wg0184zjcli29f9ds1afl5s";
armv7l-linux = "172m2d94zzm8q61pvnjy01cl5fg11ad9hfh1han0gycnv3difniy";
i386-linux = "12m0i5sb15sbysp5fvhbj4k36950m7kpjr12n88r5fpkyh13ihsp";
i686-linux = "12m0i5sb15sbysp5fvhbj4k36950m7kpjr12n88r5fpkyh13ihsp";
x86_64-linux = "0bn48r55l5dh8zcf8ijh3z6hlyp3s6fvfyqc1csvnslm63dfkzcq";
}.${stdenv.hostPlatform.system};
src = fetchurl {
url = "https://github.com/patrikx3/onenote/releases/download/v${version}/P3X-OneNote-${version}${plat}.AppImage";
inherit sha256;
};
appimageContents = appimageTools.extractType2 {
inherit name src;
};
in
appimageTools.wrapType2 rec {
inherit name src;
extraInstallCommands = ''
mkdir -p $out/share/pixmaps $out/share/licenses/p3x-onenote
cp ${appimageContents}/p3x-onenote.png $out/share/pixmaps/
cp ${appimageContents}/p3x-onenote.desktop $out
cp ${appimageContents}/LICENSE.electron.txt $out/share/licenses/p3x-onenote/LICENSE
mv $out/bin/${name} $out/bin/p3x-onenote
${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \
--set-key Exec --set-value $out/bin/p3x-onenote \
--set-key Comment --set-value "P3X OneNote Linux" \
--delete-original $out/p3x-onenote.desktop
'';
meta = with lib; {
homepage = "https://github.com/patrikx3/onenote";
description = "Linux Electron Onenote - A Linux compatible version of OneNote";
license = licenses.mit;
maintainers = with maintainers; [ tiagolobocastro ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,201 @@
{ lib
, fetchurl
, nixosTests
, python3
, ghostscript
, imagemagick
, jbig2enc
, optipng
, pngquant
, qpdf
, tesseract4
, unpaper
, liberation_ttf
}:
let
# Use specific package versions required by paperless-ngx
py = python3.override {
packageOverrides = self: super: {
django = super.django_4;
# django-extensions 3.1.5 is required, but its tests are incompatible with Django 4
django-extensions = super.django-extensions.overridePythonAttrs (_: {
doCheck = false;
});
aioredis = super.aioredis.overridePythonAttrs (oldAttrs: rec {
version = "1.3.1";
src = oldAttrs.src.override {
inherit version;
sha256 = "0fi7jd5hlx8cnv1m97kv9hc4ih4l8v15wzkqwsp73is4n0qazy0m";
};
});
};
};
path = lib.makeBinPath [ ghostscript imagemagick jbig2enc optipng pngquant qpdf tesseract4 unpaper ];
in
py.pkgs.pythonPackages.buildPythonApplication rec {
pname = "paperless-ngx";
version = "1.7.1";
# Fetch the release tarball instead of a git ref because it contains the prebuilt fontend
src = fetchurl {
url = "https://github.com/paperless-ngx/paperless-ngx/releases/download/v${version}/${pname}-v${version}.tar.xz";
hash = "sha256-8vx4hvbIqaChjPyS8Q0ar2bz/pLzEdxoF7P2gBEeFzc=";
};
format = "other";
propagatedBuildInputs = with py.pkgs.pythonPackages; [
aioredis
arrow
asgiref
async-timeout
attrs
autobahn
automat
blessed
certifi
cffi
channels-redis
channels
chardet
click
coloredlogs
concurrent-log-handler
constantly
cryptography
daphne
dateparser
django-cors-headers
django-extensions
django-filter
django-picklefield
django-q
django
djangorestframework
filelock
fuzzywuzzy
gunicorn
h11
hiredis
httptools
humanfriendly
hyperlink
idna
imap-tools
img2pdf
incremental
inotify-simple
inotifyrecursive
joblib
langdetect
lxml
msgpack
numpy
ocrmypdf
pathvalidate
pdf2image
pdfminer-six
pikepdf
pillow
pluggy
portalocker
psycopg2
pyasn1-modules
pyasn1
pycparser
pyopenssl
python-dateutil
python-dotenv
python-gnupg
python-Levenshtein
python-magic
pytz
pyyaml
pyzbar
redis
regex
reportlab
requests
scikit-learn
scipy
service-identity
six
sortedcontainers
sqlparse
threadpoolctl
tika
tqdm
twisted.optional-dependencies.tls
txaio
tzlocal
urllib3
uvicorn
uvloop
watchdog
watchgod
wcwidth
websockets
whitenoise
whoosh
zope_interface
];
# Compile manually because `pythonRecompileBytecodeHook` only works for
# files in `python.sitePackages`
postBuild = ''
${py.interpreter} -OO -m compileall src
'';
installPhase = ''
mkdir -p $out/lib
cp -r . $out/lib/paperless-ngx
chmod +x $out/lib/paperless-ngx/src/manage.py
makeWrapper $out/lib/paperless-ngx/src/manage.py $out/bin/paperless-ngx \
--prefix PYTHONPATH : "$PYTHONPATH" \
--prefix PATH : "${path}"
'';
checkInputs = with py.pkgs.pythonPackages; [
pytest-django
pytest-env
pytest-sugar
pytest-xdist
factory_boy
pytestCheckHook
];
pytestFlagsArray = [ "src" ];
# The tests require:
# - PATH with runtime binaries
# - A temporary HOME directory for gnupg
# - XDG_DATA_DIRS with test-specific fonts
preCheck = ''
export PATH="${path}:$PATH"
export HOME=$(mktemp -d)
export XDG_DATA_DIRS="${liberation_ttf}/share:$XDG_DATA_DIRS"
# Disable unneeded code coverage test
substituteInPlace src/setup.cfg \
--replace "--cov --cov-report=html" ""
'';
passthru = {
# PYTHONPATH of all dependencies used by the package
pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs;
inherit path;
tests = { inherit (nixosTests) paperless; };
};
meta = with lib; {
description = "A supercharged version of paperless: scan, index, and archive all of your physical documents";
homepage = "https://paperless-ngx.readthedocs.io/en/latest/";
license = licenses.gpl3Only;
maintainers = with maintainers; [ lukegb gador earvstedt ];
};
}

View file

@ -0,0 +1,44 @@
{ buildPythonPackage, lib, fetchFromGitLab
, isPy3k, isPyPy
, distro, setuptools, psutil
, pkgs
}:
buildPythonPackage rec {
pname = "openpaperwork-core";
inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
sourceRoot = "source/openpaperwork-core";
# Python 2.x is not supported.
disabled = !isPy3k && !isPyPy;
patchPhase = ''
echo 'version = "${version}"' > src/openpaperwork_core/_version.py
chmod a+w -R ..
patchShebangs ../tools
'';
propagatedBuildInputs = [
distro
setuptools
psutil
];
nativeBuildInputs = [ pkgs.gettext pkgs.which ];
preBuild = ''
make l10n_compile
'';
meta = {
description = "Backend part of Paperwork (Python API, no UI)";
homepage = "https://openpaper.work/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ aszlig symphorien ];
platforms = lib.platforms.linux;
};
}

View file

@ -0,0 +1,54 @@
{ buildPythonPackage
, lib
, fetchFromGitLab
, isPy3k
, isPyPy
, openpaperwork-core
, pillow
, pygobject3
, distro
, pkgs
}:
buildPythonPackage rec {
pname = "openpaperwork-gtk";
inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
sourceRoot = "source/openpaperwork-gtk";
# Python 2.x is not supported.
disabled = !isPy3k && !isPyPy;
patchPhase = ''
echo 'version = "${version}"' > src/openpaperwork_gtk/_version.py
chmod a+w -R ..
patchShebangs ../tools
'';
nativeBuildInputs = [ pkgs.gettext pkgs.which ];
preBuild = ''
make l10n_compile
'';
propagatedBuildInputs = [
pillow
pygobject3
pkgs.poppler_gi
pkgs.gtk3
pkgs.libhandy
distro
pkgs.pango
openpaperwork-core
];
meta = {
description = "Reusable GTK components of Paperwork";
homepage = "https://openpaper.work/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ aszlig symphorien ];
platforms = lib.platforms.linux;
};
}

View file

@ -0,0 +1,77 @@
{ buildPythonPackage
, lib
, fetchFromGitLab
, isPy3k
, isPyPy
, pyenchant
, scikit-learn
, pypillowfight
, pycountry
, whoosh
, termcolor
, python-Levenshtein
, pygobject3
, pyocr
, natsort
, libinsane
, distro
, openpaperwork-core
, openpaperwork-gtk
, psutil
, pkgs
}:
buildPythonPackage rec {
pname = "paperwork-backend";
inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
sourceRoot = "source/paperwork-backend";
# Python 2.x is not supported.
disabled = !isPy3k && !isPyPy;
patchPhase = ''
echo 'version = "${version}"' > src/paperwork_backend/_version.py
chmod a+w -R ..
patchShebangs ../tools
'';
propagatedBuildInputs = [
pyenchant
scikit-learn
pypillowfight
pycountry
whoosh
termcolor
python-Levenshtein
libinsane
pygobject3
pyocr
natsort
pkgs.poppler_gi
pkgs.gtk3
distro
openpaperwork-core
];
preCheck = ''
export HOME=$(mktemp -d)
'';
nativeBuildInputs = [ pkgs.gettext pkgs.which pkgs.shared-mime-info ];
preBuild = ''
make l10n_compile
'';
checkInputs = [ openpaperwork-gtk psutil pkgs.libreoffice ];
meta = {
description = "Backend part of Paperwork (Python API, no UI)";
homepage = "https://openpaper.work/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ aszlig symphorien ];
};
}

View file

@ -0,0 +1,154 @@
{ lib
, python3Packages
, gtk3
, cairo
, gnome
, librsvg
, xvfb-run
, dbus
, libnotify
, wrapGAppsHook
, fetchFromGitLab
, which
, gettext
, gobject-introspection
, gdk-pixbuf
, texlive
, imagemagick
, perlPackages
, writeScript
}:
let
documentation_deps = [
(texlive.combine {
inherit (texlive) scheme-small wrapfig was;
})
xvfb-run
imagemagick
perlPackages.Po4a
];
inherit (import ./src.nix { inherit fetchFromGitLab; }) version src sample_documents;
in
python3Packages.buildPythonApplication rec {
inherit src version;
pname = "paperwork";
sample_docs = sample_documents // {
# a trick for the update script
name = "sample_documents";
src = sample_documents;
};
sourceRoot = "source/paperwork-gtk";
# Patch out a few paths that assume that we're using the FHS:
postPatch = ''
chmod a+w -R ..
patchShebangs ../tools
export HOME=$(mktemp -d)
cat - ../AUTHORS.py > src/paperwork_gtk/_version.py <<EOF
# -*- coding: utf-8 -*-
version = "${version}"
authors_code=""
EOF
'';
preBuild = ''
make l10n_compile
'';
postInstall = ''
# paperwork-shell needs to be re-wrapped with access to paperwork
cp ${python3Packages.paperwork-shell}/bin/.paperwork-cli-wrapped $out/bin/paperwork-cli
# install desktop files and icons
XDG_DATA_HOME=$out/share $out/bin/paperwork-gtk install --user
# fixes [WARNING] [openpaperwork_core.resources.setuptools] Failed to find
# resource file paperwork_gtk.icon.out/paperwork_128.png, tried at path
# /nix/store/3n5lz6y8k9yks76f0nar3smc8djan3xr-paperwork-2.0.2/lib/python3.8/site-packages/paperwork_gtk/icon/out/paperwork_128.png.
site=$out/lib/${python3Packages.python.libPrefix}/site-packages/paperwork_gtk
for i in $site/data/paperwork_*.png; do
ln -s $i $site/icon/out;
done
export XDG_DATA_DIRS=$XDG_DATA_DIRS:${gnome.adwaita-icon-theme}/share
# build the user manual
PATH=$out/bin:$PATH PAPERWORK_TEST_DOCUMENTS=${sample_docs} make data
for i in src/paperwork_gtk/model/help/out/*.pdf; do
install -Dt $site/model/help/out $i
done
'';
checkInputs = [ dbus.daemon ];
nativeBuildInputs = [
wrapGAppsHook
gobject-introspection
(lib.getBin gettext)
which
gdk-pixbuf # for the setup hook
] ++ documentation_deps;
buildInputs = [
gnome.adwaita-icon-theme
libnotify
librsvg
gtk3
cairo
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
checkPhase = ''
runHook preCheck
# A few parts of chkdeps need to have a display and a dbus session, so we not
# only need to run a virtual X server + dbus but also have a large enough
# resolution, because the Cairo test tries to draw a 200x200 window.
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
--config-file=${dbus.daemon}/share/dbus-1/session.conf \
$out/bin/paperwork-gtk chkdeps
# content of make test, without the dep on make install
python -m unittest discover --verbose -s tests
runHook postCheck
'';
propagatedBuildInputs = with python3Packages; [
paperwork-backend
paperwork-shell
openpaperwork-gtk
openpaperwork-core
pypillowfight
pyxdg
setuptools
];
disallowedRequisites = documentation_deps;
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl common-updater-scripts
version=$(list-git-tags | sed 's/^v//' | sort -V | tail -n1)
update-source-version paperwork "$version" --file=pkgs/applications/office/paperwork/src.nix
docs_version="$(curl https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/raw/$version/paperwork-gtk/src/paperwork_gtk/model/help/screenshot.sh | grep TEST_DOCS_TAG= | cut -d'"' -f2)"
update-source-version paperwork.sample_docs "$docs_version" --file=pkgs/applications/office/paperwork/src.nix --version-key=rev
'';
meta = {
description = "A personal document manager for scanned documents";
homepage = "https://openpaper.work/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ aszlig symphorien ];
platforms = lib.platforms.linux;
};
}

View file

@ -0,0 +1,61 @@
{ buildPythonPackage
, lib
, fetchFromGitLab
, isPy3k
, isPyPy
, openpaperwork-core
, openpaperwork-gtk
, paperwork-backend
, fabulous
, getkey
, psutil
, pkgs
}:
buildPythonPackage rec {
pname = "paperwork-shell";
inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
sourceRoot = "source/paperwork-shell";
# Python 2.x is not supported.
disabled = !isPy3k && !isPyPy;
patchPhase = ''
echo 'version = "${version}"' > src/paperwork_shell/_version.py
chmod a+w -R ..
patchShebangs ../tools
'';
propagatedBuildInputs = [
openpaperwork-core
paperwork-backend
fabulous
getkey
psutil
];
checkInputs = [
openpaperwork-gtk
];
nativeBuildInputs = [ pkgs.gettext pkgs.which ];
preBuild = ''
make l10n_compile
'';
preCheck = ''
export HOME=$(mktemp -d)
"$out/bin/paperwork-cli" chkdeps
'';
meta = {
description = "CLI for Paperwork";
homepage = "https://openpaper.work/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ aszlig symphorien ];
};
}

View file

@ -0,0 +1,22 @@
{fetchFromGitLab}:
rec {
version = "2.1.1";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
repo = "paperwork";
group = "World";
owner = "OpenPaperwork";
rev = version;
sha256 = "2M2eMP54F3RRDMBuAZ1gBiBoMmTRJaHTUwtTjj4ZU+4=";
};
sample_documents = fetchFromGitLab {
domain = "gitlab.gnome.org";
repo = "paperwork-test-documents";
group = "World";
owner = "OpenPaperwork";
# https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/blob/master/paperwork-gtk/src/paperwork_gtk/model/help/screenshot.sh see TEST_DOCS_TAG
rev = "2.1";
sha256 = "0m79fgc1ycsj0q0alqgr0axn16klz1sfs2km1h83zn3kysqcs6xr";
};
}

View file

@ -0,0 +1,42 @@
{ lib
, mkDerivation
, fetchFromGitLab
, cmake
, pkg-config
, qtbase
, qttools
, qpdf
, podofo
}:
mkDerivation rec {
pname = "pdfmixtool";
version = "1.0.2";
src = fetchFromGitLab {
owner = "scarpetta";
repo = pname;
rev = "v${version}";
sha256 = "066ap1w05gj8n0kvilyhlr1fzwrmlczx3lax7mbw0rfid9qh3467";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
qtbase
qttools
qpdf
podofo
];
meta = with lib; {
description = "An application to split, merge, rotate and mix PDF files";
homepage = "https://gitlab.com/scarpetta/pdfmixtool";
license = licenses.gpl3Only;
maintainers = with maintainers; [ onny ];
};
}

View file

@ -0,0 +1,22 @@
{ fetchurl, lib, stdenv, pkg-config, autoconf, automake, clutter, clutter-gst
, gdk-pixbuf, cairo, clutter-gtk }:
stdenv.mkDerivation rec {
pname = "pinpoint";
version = "0.1.8";
src = fetchurl {
url = "http://ftp.gnome.org/pub/GNOME/sources/pinpoint/0.1/${pname}-${version}.tar.xz";
sha256 = "1jp8chr9vjlpb5lybwp5cg6g90ak5jdzz9baiqkbg0anlg8ps82s";
};
nativeBuildInputs = [ pkg-config autoconf automake ];
buildInputs = [ clutter clutter-gst gdk-pixbuf
cairo clutter-gtk ];
meta = with lib; {
homepage = "https://wiki.gnome.org/action/show/Apps/Pinpoint";
description = "A tool for making hackers do excellent presentations";
license = licenses.lgpl21;
platforms = platforms.linux;
maintainers = with maintainers; [ pSub ];
};
}

View file

@ -0,0 +1,68 @@
{ lib
, stdenv
, autoPatchelfHook
, fetchurl
, glibc
, gcc-unwrapped
, gtk3
, jre
, libsecret
, makeDesktopItem
, webkitgtk
, wrapGAppsHook
}:
let
desktopItem = makeDesktopItem {
name = "Portfolio";
exec = "portfolio";
icon = "portfolio";
comment = "Calculate Investment Portfolio Performance";
desktopName = "Portfolio Performance";
categories = [ "Office" ];
};
runtimeLibs = lib.makeLibraryPath [ gtk3 webkitgtk ];
in
stdenv.mkDerivation rec {
pname = "PortfolioPerformance";
version = "0.58.3";
src = fetchurl {
url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
sha256 = "sha256-hm7iIYv4egd79G+LfetFSFLQRnfechJIY3k5Dys63vY=";
};
nativeBuildInputs = [
autoPatchelfHook
wrapGAppsHook
];
buildInputs = [
glibc
gcc-unwrapped
libsecret
];
installPhase = ''
mkdir -p $out/portfolio
cp -av ./* $out/portfolio
makeWrapper $out/portfolio/PortfolioPerformance $out/bin/portfolio \
--prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
--prefix PATH : ${jre}/bin
# Create desktop item
mkdir -p $out/share/applications
cp ${desktopItem}/share/applications/* $out/share/applications
mkdir -p $out/share/pixmaps
ln -s $out/portfolio/icon.xpm $out/share/pixmaps/portfolio.xpm
'';
meta = with lib; {
description = "A simple tool to calculate the overall performance of an investment portfolio";
homepage = "https://www.portfolio-performance.info/";
license = licenses.epl10;
maintainers = with maintainers; [ elohmeier oyren shawn8901 ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -0,0 +1,47 @@
{ lib
, stdenv
, python3Packages
, wrapGAppsHook
, gtk3
, gobject-introspection
, libcanberra-gtk3
, poppler_gi
, withGstreamer ? stdenv.isLinux
, withVLC ? stdenv.isLinux
}:
python3Packages.buildPythonApplication rec {
pname = "pympress";
version = "1.7.0";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "sha256-AxH0PyAWYEEIqQAx9gG2eYyXMijLZGZqXkRhld32ieE=";
};
nativeBuildInputs = [
wrapGAppsHook
];
buildInputs = [
gtk3
gobject-introspection
poppler_gi
] ++ lib.optional withGstreamer libcanberra-gtk3;
propagatedBuildInputs = with python3Packages; [
pycairo
pygobject3
setuptools
watchdog
] ++ lib.optional withVLC python-vlc;
doCheck = false; # there are no tests
meta = with lib; {
description = "Simple yet powerful PDF reader designed for dual-screen presentations";
license = licenses.gpl2Plus;
homepage = "https://cimbali.github.io/pympress/";
maintainers = [ maintainers.tbenst ];
};
}

View file

@ -0,0 +1,74 @@
{ lib
, copyDesktopItems
, makeDesktopItem
, python3
, qtsvg
, wrapQtAppsHook
}:
python3.pkgs.buildPythonApplication rec {
pname = "pyspread";
version = "2.0.2";
src = python3.pkgs.fetchPypi {
inherit pname version;
hash = "sha256-rg2T9Y9FU2a+aWg0XM8jyQB9t8zDVlpad3TjUcx4//8=";
};
nativeBuildInputs = [
copyDesktopItems
wrapQtAppsHook
];
buildInputs = [
qtsvg
];
propagatedBuildInputs = with python3.pkgs; [
python-dateutil
markdown2
matplotlib
numpy
pyenchant
pyqt5
setuptools
];
doCheck = false; # it fails miserably with a core dump
pythonImportsCheck = [ "pyspread" ];
desktopItems = [
(makeDesktopItem rec {
name = pname;
exec = name;
icon = name;
desktopName = "Pyspread";
genericName = "Spreadsheet";
comment = meta.description;
categories = [ "Office" "Development" "Spreadsheet" ];
})
];
preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
'';
meta = with lib; {
homepage = "https://pyspread.gitlab.io/";
description = "A Python-oriented spreadsheet application";
longDescription = ''
pyspread is a non-traditional spreadsheet application that is based on and
written in the programming language Python. The goal of pyspread is to be
the most pythonic spreadsheet.
pyspread expects Python expressions in its grid cells, which makes a
spreadsheet specific language obsolete. Each cell returns a Python object
that can be accessed from other cells. These objects can represent
anything including lists or matrices.
'';
license = with licenses; gpl3Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; all;
};
}

View file

@ -0,0 +1,39 @@
{ lib, fetchFromGitHub, python3Packages, wrapQtAppsHook }:
python3Packages.buildPythonPackage rec {
pname = "qnotero";
version = "2.3.0";
src = fetchFromGitHub {
owner = "ealbiter";
repo = pname;
rev = "v${version}";
sha256 = "0y2xph4ha07slni039s034cn1wsk3q2d86hihy97h4ch47ignv20";
};
propagatedBuildInputs = [ python3Packages.pyqt5 wrapQtAppsHook ];
patchPhase = ''
substituteInPlace ./setup.py \
--replace "/usr/share" "usr/share"
substituteInPlace ./libqnotero/_themes/light.py \
--replace "/usr/share" "$out/usr/share"
'';
preFixup = ''
wrapQtApp "$out"/bin/qnotero
'';
# no tests executed
doCheck = false;
meta = {
description = "Quick access to Zotero references";
homepage = "http://www.cogsci.nl/software/qnotero";
license = lib.licenses.gpl2;
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.nico202 ];
};
}

Some files were not shown because too many files have changed in this diff Show more