diff --git a/pkgs/applications/misc/glom/default.nix b/pkgs/applications/misc/glom/default.nix new file mode 100644 index 000000000000..9e71837c0f5d --- /dev/null +++ b/pkgs/applications/misc/glom/default.nix @@ -0,0 +1,132 @@ +{ stdenv +, fetchFromGitLab +, pkgconfig +, autoconf +, automake +, libtool +, mm-common +, intltool +, itstool +, doxygen +, graphviz +, makeFontsConf +, freefont_ttf +, boost +, libxmlxx3 +, libxslt +, libgdamm +, libarchive +, libepc +, python3 +, ncurses +, glibmm +, gtk3 +, openssl +, gtkmm3 +, goocanvasmm2 +, evince +, isocodes +, gtksourceviewmm4 +, postgresql +, gnome3 +, gobject-introspection +, wrapGAppsHook +}: + +let + gda = libgdamm.override { + mysqlSupport = true; + postgresSupport = true; + }; + python = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]); + sphinx-build = python3.pkgs.sphinx.overrideAttrs (super: { + postFixup = super.postFixup or "" + '' + # Do not propagate Python + rm $out/nix-support/propagated-build-inputs + ''; + }); + boost_python = boost.override { enablePython = true; inherit python; }; +in stdenv.mkDerivation rec { + pname = "glom"; + version = "unstable-2018-12-16"; + + outputs = [ "out" "lib" "dev" "doc" "devdoc" ]; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = pname; + rev = "fa5ff04f209f35bf3e97bc1c3eb1d1138d6172ce"; + sha256 = "145hnk96xa4v35i3a3mbf3fnx4nlk8cksc0qhm7nrh8cnnrbdfgn"; + }; + + nativeBuildInputs = [ + pkgconfig + autoconf + automake + libtool + mm-common + intltool + gnome3.yelp-tools + itstool + doxygen + graphviz + sphinx-build + wrapGAppsHook + gobject-introspection # for setup hook + ]; + + buildInputs = [ + boost_python + glibmm + gtk3 + openssl + libxmlxx3 + libxslt + gda + libarchive + libepc + python + ncurses # for python + gtkmm3 + goocanvasmm2 + evince + isocodes + python3.pkgs.pygobject3 + gtksourceviewmm4 + postgresql # for pg_config + ]; + + enableParallelBuilding = true; + + preConfigure = "NOCONFIGURE=1 ./autogen.sh"; + + configureFlags = [ + "--with-boost-python=boost_python${stdenv.lib.versions.major python3.version}${stdenv.lib.versions.minor python3.version}" + ]; + + makeFlags = [ + "libdocdir=${placeholder "doc"}/share/doc/$(book_name)" + "devhelpdir=${placeholder "devdoc"}/share/devhelp/books/$(book_name)" + ]; + + # Fontconfig error: Cannot load default config file + FONTCONFIG_FILE = makeFontsConf { + fontDirectories = [ freefont_ttf ]; + }; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PYTHONPATH : "${placeholder "out"}/${python3.sitePackages}" + --set PYTHONHOME "${python}" + ) + ''; + + meta = with stdenv.lib; { + description = "An easy-to-use database designer and user interface"; + homepage = http://www.glom.org/; + license = [ licenses.lgpl2 licenses.gpl2 ]; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix index 4867335af126..94d39964bc48 100644 --- a/pkgs/desktops/gnome-3/core/evince/default.nix +++ b/pkgs/desktops/gnome-3/core/evince/default.nix @@ -4,7 +4,7 @@ , librsvg, gobject-introspection, yelp-tools, gspell , recentListSize ? null # 5 is not enough, allow passing a different number , supportXPS ? false # Open XML Paper Specification via libgxps -, autoreconfHook +, autoreconfHook, pruneLibtoolFiles }: stdenv.mkDerivation rec { @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - pkgconfig gobject-introspection intltool itstool wrapGAppsHook yelp-tools autoreconfHook + pkgconfig gobject-introspection intltool itstool wrapGAppsHook yelp-tools autoreconfHook pruneLibtoolFiles ]; buildInputs = [ diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix index 971637bc7870..fc67035ce204 100644 --- a/pkgs/development/libraries/avahi/default.nix +++ b/pkgs/development/libraries/avahi/default.nix @@ -1,5 +1,6 @@ { fetchurl, stdenv, pkgconfig, libdaemon, dbus, perlPackages , expat, gettext, intltool, glib, libiconv +, gtk3Support ? false, gtk3 ? null , qt4 ? null , qt4Support ? false , withLibdnssdCompat ? false }: @@ -19,13 +20,15 @@ stdenv.mkDerivation rec { buildInputs = [ libdaemon dbus glib expat libiconv ] ++ (with perlPackages; [ perl XMLParser ]) + ++ (stdenv.lib.optional gtk3Support gtk3) ++ (stdenv.lib.optional qt4Support qt4); nativeBuildInputs = [ pkgconfig gettext intltool glib ]; configureFlags = [ "--disable-qt3" "--disable-gdbm" "--disable-mono" - "--disable-gtk" "--disable-gtk3" + "--disable-gtk" + (stdenv.lib.enableFeature gtk3Support "gtk3") "--${if qt4Support then "enable" else "disable"}-qt4" "--disable-python" "--localstatedir=/var" "--with-distro=none" # A systemd unit is provided by the avahi-daemon NixOS module diff --git a/pkgs/development/libraries/goocanvasmm/default.nix b/pkgs/development/libraries/goocanvasmm/default.nix new file mode 100644 index 000000000000..b7f56837686d --- /dev/null +++ b/pkgs/development/libraries/goocanvasmm/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, goocanvas2, gtkmm3, gnome3 }: + +stdenv.mkDerivation rec { + pname = "goocanvasmm"; + version = "1.90.11"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0vpdfrj59nwzwj8bk4s0h05iyql62pxjzsxh72g3vry07s3i3zw0"; + }; + nativeBuildInputs = [ pkgconfig ]; + propagatedBuildInputs = [ gtkmm3 goocanvas2 ]; + + enableParallelBuilding = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + + meta = with stdenv.lib; { + description = "C++ bindings for GooCanvas"; + homepage = https://wiki.gnome.org/Projects/GooCanvas; + license = licenses.lgpl2; + maintainers = with maintainers; [ ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/libraries/gtksourceviewmm/4.x.nix b/pkgs/development/libraries/gtksourceviewmm/4.x.nix new file mode 100644 index 000000000000..d60bb29c47ae --- /dev/null +++ b/pkgs/development/libraries/gtksourceviewmm/4.x.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, pkgconfig, gtkmm3, glibmm, gtksourceview4, gnome3 }: + +stdenv.mkDerivation rec { + pname = "gtksourceviewmm"; + version = "3.91.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "088p2ch1b4fvzl9416nw3waj0pqgp31cd5zj4lx5hzzrq2afgapy"; + }; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + versionPolicy = "none"; + }; + }; + + nativeBuildInputs = [ pkgconfig ]; + propagatedBuildInputs = [ glibmm gtkmm3 gtksourceview4 ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + homepage = https://developer.gnome.org/gtksourceviewmm/; + description = "C++ wrapper for gtksourceview"; + license = licenses.lgpl2; + maintainers = gnome3.maintainers; + }; +} + diff --git a/pkgs/development/libraries/libepc/default.nix b/pkgs/development/libraries/libepc/default.nix new file mode 100644 index 000000000000..59780699fd13 --- /dev/null +++ b/pkgs/development/libraries/libepc/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk-doc, glib, avahi, gnutls, libuuid, libsoup, gtk3, gnome3 }: + +let + avahiWithGtk = avahi.override { gtk3Support = true; }; +in stdenv.mkDerivation rec { + pname = "libepc"; + version = "0.4.6"; + + outputs = [ "out" "dev" "devdoc" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1s3svb2slqjsrqfv50c2ymnqcijcxb5gnx6bfibwh9l5ga290n91"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + gtk-doc + ]; + buildInputs = [ + glib + libuuid + gtk3 + ]; + propagatedBuildInputs = [ + avahiWithGtk + gnutls + libsoup + ]; + + enableParallelBuilding = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + + meta = with stdenv.lib; { + description = "Easy Publish and Consume Library"; + homepage = https://wiki.gnome.org/Projects/libepc; + license = licenses.lgpl21Plus; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/libgda/default.nix b/pkgs/development/libraries/libgda/default.nix index ee9323ebc5c0..9bf03f25c9c9 100644 --- a/pkgs/development/libraries/libgda/default.nix +++ b/pkgs/development/libraries/libgda/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gtk3, openssl, gnome3, vala +{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gtk3, openssl, gnome3, gobject-introspection, vala , overrideCC, gcc6 , mysqlSupport ? false, mysql ? null , postgresSupport ? false, postgresql ? null @@ -23,7 +23,7 @@ assert postgresSupport -> postgresql != null; hardeningDisable = [ "format" ]; - nativeBuildInputs = [ pkgconfig intltool itstool libxml2 vala ]; + nativeBuildInputs = [ pkgconfig intltool itstool libxml2 gobject-introspection vala ]; buildInputs = with stdenv.lib; [ gtk3 openssl gnome3.libgee ] ++ optional (mysqlSupport) mysql.connector-c ++ optional (postgresSupport) postgresql; diff --git a/pkgs/development/libraries/libgdamm/default.nix b/pkgs/development/libraries/libgdamm/default.nix new file mode 100644 index 000000000000..012400a49abc --- /dev/null +++ b/pkgs/development/libraries/libgdamm/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, pkgconfig, glibmm, libgda, libxml2, gnome3 +, mysqlSupport ? false, mysql ? null +, postgresSupport ? false, postgresql ? null }: + +let + gda = libgda.override { + inherit mysqlSupport postgresSupport; + }; +in stdenv.mkDerivation rec { + pname = "libgdamm"; + version = "4.99.11"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1fyh15b3f8hmwbswalxk1g4l04yvvybksn5nm7gznn5jl5q010p9"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ glibmm libxml2 ]; + propagatedBuildInputs = [ gda ]; + + enableParallelBuilding = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + + meta = with stdenv.lib; { + description = "C++ bindings for libgda"; + homepage = http://www.gnome-db.org/; + license = licenses.lgpl21Plus; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/mm-common/default.nix b/pkgs/development/libraries/mm-common/default.nix new file mode 100644 index 000000000000..78ae8875fcf3 --- /dev/null +++ b/pkgs/development/libraries/mm-common/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, gnome3 }: + +stdenv.mkDerivation rec { + pname = "mm-common"; + version = "0.9.12"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "02vwgv404b56wxy0gnm9xq9fvzgn9dhfqcy2hhl78ljv3v7drzyf"; + }; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + versionPolicy = "none"; + }; + }; + + meta = with stdenv.lib; { + description = "Common build files of GLib/GTK+ C++ bindings"; + longDescription = '' + The mm-common module provides the build infrastructure and utilities + shared among the GNOME C++ binding libraries. It is only a required + dependency for building the C++ bindings from the gnome.org version + control repository. An installation of mm-common is not required for + building tarball releases, unless configured to use maintainer-mode. + ''; + homepage = http://www.gtkmm.org; + license = licenses.gpl2Plus; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 007673eeddb4..f073dc8086bc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3934,6 +3934,8 @@ in libee = callPackage ../development/libraries/libee { }; + libepc = callPackage ../development/libraries/libepc { }; + libestr = callPackage ../development/libraries/libestr { }; libevdev = callPackage ../development/libraries/libevdev { }; @@ -10035,6 +10037,7 @@ in goocanvas = callPackage ../development/libraries/goocanvas { }; goocanvas2 = callPackage ../development/libraries/goocanvas/2.x.nix { }; + goocanvasmm2 = callPackage ../development/libraries/goocanvasmm { }; google-gflags = callPackage ../development/libraries/google-gflags { }; gflags = google-gflags; # TODO: move to aliases.nix @@ -10246,6 +10249,8 @@ in gtksourceviewmm = callPackage ../development/libraries/gtksourceviewmm { }; + gtksourceviewmm4 = callPackage ../development/libraries/gtksourceviewmm/4.x.nix { }; + gtkspell2 = callPackage ../development/libraries/gtkspell { }; gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { }; @@ -10814,6 +10819,8 @@ in libgda = callPackage ../development/libraries/libgda { }; + libgdamm = callPackage ../development/libraries/libgdamm { }; + libgdata = gnome3.libgdata; libgig = callPackage ../development/libraries/libgig { }; @@ -18281,6 +18288,8 @@ in mm = callPackage ../applications/networking/instant-messengers/mm { }; + mm-common = callPackage ../development/libraries/mm-common { }; + matrique = libsForQt5.callPackage ../applications/networking/instant-messengers/matrique { }; mpc-qt = libsForQt5.callPackage ../applications/video/mpc-qt { }; @@ -21752,6 +21761,8 @@ in ginac = callPackage ../applications/science/math/ginac { }; + glom = callPackage ../applications/misc/glom { }; + glucose = callPackage ../applications/science/logic/glucose { }; glucose-syrup = callPackage ../applications/science/logic/glucose/syrup.nix { };