about summary refs log tree commit diff
path: root/pkgs/applications/office
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-01-02 21:08:27 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2019-01-02 21:08:27 +0100
commit092e3b50a8ff501a6ad1caf20165d2284d1ad5cb (patch)
tree6de2bf3a88d2fcf4d947312ccfabebcf5651dbed /pkgs/applications/office
parent070290bda7972072a531c7e79a29bd005ebb84df (diff)
parent82f679c269e504d00b02ef79a88934de7165dc8c (diff)
downloadnixlib-092e3b50a8ff501a6ad1caf20165d2284d1ad5cb.tar
nixlib-092e3b50a8ff501a6ad1caf20165d2284d1ad5cb.tar.gz
nixlib-092e3b50a8ff501a6ad1caf20165d2284d1ad5cb.tar.bz2
nixlib-092e3b50a8ff501a6ad1caf20165d2284d1ad5cb.tar.lz
nixlib-092e3b50a8ff501a6ad1caf20165d2284d1ad5cb.tar.xz
nixlib-092e3b50a8ff501a6ad1caf20165d2284d1ad5cb.tar.zst
nixlib-092e3b50a8ff501a6ad1caf20165d2284d1ad5cb.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/applications/office')
-rw-r--r--pkgs/applications/office/gnucash/2.4.nix91
-rw-r--r--pkgs/applications/office/gnucash/2.6.nix116
-rw-r--r--pkgs/applications/office/trilium/default.nix58
3 files changed, 58 insertions, 207 deletions
diff --git a/pkgs/applications/office/gnucash/2.4.nix b/pkgs/applications/office/gnucash/2.4.nix
deleted file mode 100644
index 40c91d6488d6..000000000000
--- a/pkgs/applications/office/gnucash/2.4.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk2, libgnomeui, libofx
-, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
-, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
-, libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar, hicolor-icon-theme
-, pcre
-}:
-
-/* If you experience GConf errors when running GnuCash on NixOS, see
- * http://wiki.nixos.org/wiki/Solve_GConf_errors_when_running_GNOME_applications
- * for a possible solution.
- */
-
-stdenv.mkDerivation rec {
-  name = "gnucash-2.4.15";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
-    sha256 = "058mgfwic6a2g7jq6iip5hv45md1qaxy25dj4lvlzjjr141wm4gx";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    libxml2 gconf glib gtk2 libgnomeui libgtkhtml gtkhtml
-    libgnomeprint goffice enchant gettext intltool perl guile slibGuile
-    swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
-    perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar
-    hicolor-icon-theme pcre
-  ];
-  propagatedUserEnvPkgs = [ gconf ];
-
-  configureFlags = [
-    "CFLAGS=-O3"
-    "CXXFLAGS=-O3"
-    "--disable-dbi"
-    "--enable-ofx"
-    "--enable-aqbanking"
-  ];
-
-  postInstall = ''
-    # Auto-updaters don't make sense in Nix.
-    rm $out/bin/gnc-fq-update
-
-    sed -i $out/bin/update-gnucash-gconf \
-       -e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|'
-
-    for prog in $(echo "$out/bin/"*)
-    do
-      # Don't wrap the gnc-fq-* scripts, since gnucash calls them as
-      # "perl <script>', i.e. they must be Perl scripts.
-      if [[ $prog =~ gnc-fq ]]; then continue; fi
-      wrapProgram "$prog"                                               \
-        --set SCHEME_LIBRARY_PATH "$SCHEME_LIBRARY_PATH"                \
-        --prefix GUILE_LOAD_PATH ":" "$GUILE_LOAD_PATH"                 \
-        --prefix LD_LIBRARY_PATH ":" "${libgnomeui}/lib/libglade/2.0"   \
-        --prefix LD_LIBRARY_PATH ":" "${libbonoboui}/lib/libglade/2.0"  \
-        --prefix PERL5LIB ":" "$PERL5LIB"                               \
-        --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
-        --prefix PATH ":" "$out/bin:${stdenv.lib.makeBinPath [ perl gconf ]}"
-    done
-  '';
-
-  # The following settings fix failures in the test suite. It's not required otherwise.
-  NIX_LDFLAGS = "-rpath=${guile}/lib -rpath=${glib.out}/lib";
-  preCheck = "export GNC_DOT_DIR=$PWD/dot-gnucash";
-
-  doCheck = false;      # https://github.com/NixOS/nixpkgs/issues/11084
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "Personal and small-business financial-accounting application";
-
-    longDescription = ''
-      GnuCash is personal and small-business financial-accounting software,
-      freely licensed under the GNU GPL and available for GNU/Linux, BSD,
-      Solaris, macOS 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.
-    '';
-
-    license = stdenv.lib.licenses.gpl2Plus;
-
-    homepage = http://www.gnucash.org/;
-
-    maintainers = [ stdenv.lib.maintainers.peti stdenv.lib.maintainers.domenkozar ];
-    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/office/gnucash/2.6.nix b/pkgs/applications/office/gnucash/2.6.nix
deleted file mode 100644
index 471d2d757d96..000000000000
--- a/pkgs/applications/office/gnucash/2.6.nix
+++ /dev/null
@@ -1,116 +0,0 @@
-{ fetchurl, fetchpatch, stdenv, intltool, pkgconfig, file, makeWrapper
-, libxml2, libxslt, perl, perlPackages, gconf, guile
-, glib, gtk2, libofx, aqbanking, gwenhywfar, libgnomecanvas, goffice
-, webkit, glibcLocales, gsettings-desktop-schemas, dconf
-, gettext, swig, slibGuile, enchant, bzip2, isocodes, libdbi, libdbiDrivers
-, pango, gdk_pixbuf, hicolor-icon-theme
-}:
-
-/*
-Two cave-ats right now:
-  1. HTML reports are broken
-  2. You need to have dconf installed (GNOME3 should have it automatically,
-     otherwise put it in environment.systemPackages), for settings
-*/
-
-stdenv.mkDerivation rec {
-  name = "gnucash-2.6.18-1";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
-    sha256 = "1794qi7lkn1kbnhzk08wawacfcphbln3ngdl3q0qax5drv7hnwv8";
-  };
-
-  patches = [
-    (fetchpatch {
-     sha256 = "11nlf9j7jm1i37mfcmmnkplxr3nlf257fxd01095vd65i2rn1m8h";
-     name = "fix-brittle-test.patch";
-     url = "https://github.com/Gnucash/gnucash/commit/42ac55e03a1a84739f4a5b7a247c31d91c0adc4a.patch";
-    })
-  ];
-
-  nativeBuildInputs = [ intltool pkgconfig file makeWrapper ];
-
-  buildInputs = [
-    # general
-    libxml2 libxslt glibcLocales gettext swig enchant
-    bzip2 isocodes
-    # glib, gtk...
-    glib gtk2 goffice webkit hicolor-icon-theme
-    # gnome...
-    dconf gconf libgnomecanvas gsettings-desktop-schemas
-    # financial
-    libofx aqbanking gwenhywfar
-    # perl
-    perl perlPackages.FinanceQuote perlPackages.DateManip
-    # guile
-    guile slibGuile
-    # database backends
-    libdbi libdbiDrivers
-  ];
-
-  postPatch = ''
-    patchShebangs ./src
-  '';
-
-  configureFlags = [
-    "CFLAGS=-O3"
-    "CXXFLAGS=-O3"
-    "--enable-dbi"
-    "--with-dbi-dbd-dir=${libdbiDrivers}/lib/dbd/"
-    "--enable-ofx"
-    "--enable-aqbanking"
-  ];
-
-  postInstall = ''
-    # Auto-updaters don't make sense in Nix.
-    rm $out/bin/gnc-fq-update
-
-    #sed -i $out/bin/update-gnucash-gconf \
-    #   -e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|'
-
-    for prog in $(echo "$out/bin/"*)
-    do
-      # Don't wrap the gnc-fq-* scripts, since gnucash calls them as
-      # "perl <script>', i.e. they must be Perl scripts.
-      if [[ $prog =~ gnc-fq ]]; then continue; fi
-      wrapProgram "$prog"                                               \
-        --set SCHEME_LIBRARY_PATH "$SCHEME_LIBRARY_PATH"                \
-        --prefix GUILE_LOAD_PATH ":" "$GUILE_LOAD_PATH"                 \
-        --prefix PERL5LIB ":" "$PERL5LIB"                               \
-        --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
-        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${name}" \
-        --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"  \
-        --prefix PATH ":" "$out/bin:${stdenv.lib.makeBinPath [ perl gconf ]}"
-    done
-  '';
-
-  # The following settings fix failures in the test suite. It's not required otherwise.
-  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ guile glib gtk2 pango gdk_pixbuf ];
-  preCheck = "export GNC_DOT_DIR=$PWD/dot-gnucash";
-  doCheck = true;
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "Personal and small-business financial-accounting application";
-
-    longDescription = ''
-      GnuCash is personal and small-business financial-accounting software,
-      freely licensed under the GNU GPL and available for GNU/Linux, BSD,
-      Solaris, macOS 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.
-    '';
-
-    license = stdenv.lib.licenses.gpl2Plus;
-
-    homepage = http://www.gnucash.org/;
-
-    maintainers = [ stdenv.lib.maintainers.peti stdenv.lib.maintainers.domenkozar ];
-    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix
new file mode 100644
index 000000000000..c274ef0440d7
--- /dev/null
+++ b/pkgs/applications/office/trilium/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, p7zip, autoPatchelfHook, atomEnv, makeWrapper, makeDesktopItem }:
+
+let
+  description = "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases.";
+  desktopItem = makeDesktopItem {
+    name = "Trilium";
+    exec = "trilium";
+    icon = "trilium";
+    comment = description;
+    desktopName = "Trilium Notes";
+    categories = "Office";
+  };
+
+in stdenv.mkDerivation rec {
+  name = "trilium-${version}";
+  version = "0.26.1";
+
+  src = fetchurl {
+    url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.7z";
+    sha256 = "184b0b0s8q32h1mpkrin8x1q0kjvard7r7xqrclziwwxg4khp3cz";
+  };
+
+  nativeBuildInputs = [
+    p7zip /* for unpacking */
+    autoPatchelfHook
+    makeWrapper
+  ];
+
+  buildInputs = atomEnv.packages;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/trilium
+    mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
+
+    cp -r ./* $out/share/trilium
+    ln -s $out/share/trilium/trilium $out/bin/trilium
+
+    ln -s $out/share/trilium/resources/app/src/public/images/trilium.svg $out/share/icons/hicolor/scalable/apps/trilium.svg
+    cp ${desktopItem}/share/applications/* $out/share/applications
+  '';
+
+
+  # This "shouldn't" be needed, remove when possible :)
+  preFixup = ''
+    wrapProgram $out/bin/trilium --prefix LD_LIBRARY_PATH : "${atomEnv.libPath}"
+  '';
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    inherit description;
+    homepage = https://github.com/zadam/trilium;
+    license = licenses.agpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ emmanuelrosa dtzWill ];
+  };
+}