summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas@tuxera.com>2018-02-07 03:41:24 +0200
committerTuomas Tynkkynen <tuomas@tuxera.com>2018-02-07 03:41:24 +0200
commit4c6c919a3141b14c3e90607f171e534a82eceeb0 (patch)
tree9ea646e0f14fa84fa38a545a4edc33926208db96 /pkgs/applications
parent335ae386741f74c63cf3bf4b7022a1e5e5f26066 (diff)
parentfc1224d55dfdde0a3e43635fc9465cdff0bb80a3 (diff)
downloadnixlib-4c6c919a3141b14c3e90607f171e534a82eceeb0.tar
nixlib-4c6c919a3141b14c3e90607f171e534a82eceeb0.tar.gz
nixlib-4c6c919a3141b14c3e90607f171e534a82eceeb0.tar.bz2
nixlib-4c6c919a3141b14c3e90607f171e534a82eceeb0.tar.lz
nixlib-4c6c919a3141b14c3e90607f171e534a82eceeb0.tar.xz
nixlib-4c6c919a3141b14c3e90607f171e534a82eceeb0.tar.zst
nixlib-4c6c919a3141b14c3e90607f171e534a82eceeb0.zip
Merge remote-tracking branch 'upstream/master' into HEAD
Conflicts:
	pkgs/os-specific/linux/kernel/generic.nix
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/editors/emacs/site-start.el41
-rw-r--r--pkgs/applications/graphics/antimony/default.nix8
-rw-r--r--pkgs/applications/graphics/freecad/default.nix34
-rw-r--r--pkgs/applications/misc/diff-pdf/default.nix32
-rw-r--r--pkgs/applications/misc/dump1090/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform/providers/default.nix4
-rw-r--r--pkgs/applications/science/biology/samtools/default.nix4
-rw-r--r--pkgs/applications/video/subdl/default.nix26
8 files changed, 134 insertions, 19 deletions
diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el
index b41ca92db086..cc1ab1d0e303 100644
--- a/pkgs/applications/editors/emacs/site-start.el
+++ b/pkgs/applications/editors/emacs/site-start.el
@@ -1,18 +1,39 @@
-;;; NixOS specific load-path
-(setq load-path
-      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
-                               (split-string (or (getenv "NIX_PROFILES") ""))))
-              load-path))
+(defun nix--profile-paths ()
+  "Returns a list of all paths in the NIX_PROFILES environment
+variable, ordered from more-specific (the user profile) to the
+least specific (the system profile)"
+  (reverse (split-string (or (getenv "NIX_PROFILES") ""))))
+
+;;; Extend `load-path' to search for elisp files in subdirectories of
+;;; all folders in `NIX_PROFILES'. Also search for one level of
+;;; subdirectories in these directories to handle multi-file libraries
+;;; like `mu4e'.'
+(require 'seq)
+(let* ((subdirectory-sites (lambda (site-lisp)
+                             (when (file-exists-p site-lisp)
+                               (seq-filter (lambda (f) (file-directory-p (file-truename f)))
+                                           ;; Returns all files in `site-lisp', excluding `.' and `..'
+                                           (directory-files site-lisp 'full "^\\([^.]\\|\\.[^.]\\|\\.\\..\\)")))))
+       (paths (apply #'append
+                     (mapcar (lambda (profile-dir)
+                               (let ((site-lisp (concat profile-dir "/share/emacs/site-lisp/")))
+                                 (cons site-lisp (funcall subdirectory-sites site-lisp))))
+                             (nix--profile-paths)))))
+  (setq load-path (append paths load-path)))
+
 
 ;;; Make `woman' find the man pages
 (eval-after-load 'woman
   '(setq woman-manpath
-         (append (reverse (mapcar (lambda (x) (concat x "/share/man/"))
-                                  (split-string (or (getenv "NIX_PROFILES") ""))))
+         (append (mapcar (lambda (x) (concat x "/share/man/"))
+                         (nix--profile-paths))
                  woman-manpath)))
 
 ;;; Make tramp work for remote NixOS machines
 (eval-after-load 'tramp
+  ;; TODO: We should also add the other `NIX_PROFILES' to this path.
+  ;; However, these are user-specific, so we would need to discover
+  ;; them dynamically after connecting via `tramp'
   '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
 
 ;;; C source directory
@@ -22,9 +43,9 @@
 ;;; from: /nix/store/<hash>-emacs-<version>/share/emacs/site-lisp/site-start.el
 ;;; to:   /nix/store/<hash>-emacs-<version>/share/emacs/<version>/src/
 (let ((emacs
-       (file-name-directory                      ;; .../emacs/
-        (directory-file-name                     ;; .../emacs/site-lisp
-         (file-name-directory load-file-name)))) ;; .../emacs/site-lisp/
+       (file-name-directory                      ; .../emacs/
+        (directory-file-name                     ; .../emacs/site-lisp
+         (file-name-directory load-file-name)))) ; .../emacs/site-lisp/
       (version
        (file-name-as-directory
         (concat
diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix
index b7d9f4a81599..f9ea2b9aa84e 100644
--- a/pkgs/applications/graphics/antimony/default.nix
+++ b/pkgs/applications/graphics/antimony/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchFromGitHub, libpng, python3, boost, mesa, qtbase, ncurses, cmake, flex, lemon }:
 
 let
-  gitRev    = "e8480c718e8c49ae3cc2d7af10ea93ea4c2fff9a";
+  gitRev    = "020910c25614a3752383511ede5a1f5551a8bd39";
   gitBranch = "master";
-  gitTag    = "0.9.2";
-in 
+  gitTag    = "0.9.3";
+in
   stdenv.mkDerivation rec {
     name    = "antimony-${version}";
     version = gitTag;
@@ -13,7 +13,7 @@ in
       owner = "mkeeter";
       repo = "antimony";
       rev = gitTag;
-      sha256 = "0fpgy5cb4knz2z9q078206k8wzxfs8b9g76mf4bz1ic77931ykjz";
+      sha256 = "1vm5h5py8l3b8h4pbmm8s3wlxvlw492xfwnlwx0nvl0cjs8ba6r4";
     };
 
     patches = [ ./paths-fix.patch ];
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index 80f893e7c3c9..d517306c1d61 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts
-, boost, zlib, python27Packages, swig, gfortran, soqt, libf2c, makeWrapper }:
+, boost, zlib, python27Packages, swig, gfortran, soqt, libf2c, makeWrapper, makeDesktopItem }:
 
 let
   pythonPackages = python27Packages;
@@ -32,8 +32,40 @@ in stdenv.mkDerivation rec {
   postInstall = ''
     wrapProgram $out/bin/FreeCAD --prefix PYTHONPATH : $PYTHONPATH \
       --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1
+
+    mkdir -p $out/share/mime/packages
+    cat << EOF > $out/share/mime/packages/freecad.xml
+    <?xml version="1.0" encoding="UTF-8"?>
+    <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
+      <mime-type type="application/x-extension-fcstd">
+        <sub-class-of type="application/zip"/>
+        <comment>FreeCAD Document</comment>
+        <glob pattern="*.fcstd"/>
+      </mime-type>
+    </mime-info>
+    EOF
+
+    mkdir -p $out/share/applications
+    cp $desktopItem/share/applications/* $out/share/applications/
+    for entry in $out/share/applications/*.desktop; do
+      substituteAllInPlace $entry
+    done
   '';
 
+  desktopItem = makeDesktopItem {
+    name = "freecad";
+    desktopName = "FreeCAD";
+    genericName = "CAD Application";
+    comment = meta.description;
+    exec = "@out@/bin/FreeCAD %F";
+    categories = "Science;Education;Engineering;";
+    startupNotify = "true";
+    mimeType = "application/x-extension-fcstd;";
+    extraEntries = ''
+      Path=@out@/share/freecad
+    '';
+  };
+
   meta = with stdenv.lib; {
     description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler";
     homepage = https://www.freecadweb.org/;
diff --git a/pkgs/applications/misc/diff-pdf/default.nix b/pkgs/applications/misc/diff-pdf/default.nix
new file mode 100644
index 000000000000..467c2b3c2d59
--- /dev/null
+++ b/pkgs/applications/misc/diff-pdf/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, cairo, poppler, wxGTK ? null, wxmac ? null, darwin ? null }:
+
+let
+  wxInputs =
+    if stdenv.isDarwin then
+      [ wxmac darwin.apple_sdk.frameworks.Cocoa ]
+    else
+      [ wxGTK ];
+in
+stdenv.mkDerivation rec {
+  name = "diff-pdf-${version}";
+  version = "2017-12-30";
+
+  src = fetchFromGitHub {
+    owner = "vslavik";
+    repo = "diff-pdf";
+    rev = "c4d67226ec4c29b30a7399e75f80636ff8a6f9fc";
+    sha256 = "1c3ig7ckrg37p5vzvgjnsfdzdad328wwsx0r31lbs1d8pkjkgq3m";
+  };
+
+  nativeBuildInputs = [ autoconf automake pkgconfig ];
+  buildInputs = [ cairo poppler ] ++ wxInputs;
+
+  preConfigure = "./bootstrap";
+
+  meta = with stdenv.lib; {
+    homepage = http://vslavik.github.io/diff-pdf;
+    description = "Simple tool for visually comparing two PDF files";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/applications/misc/dump1090/default.nix b/pkgs/applications/misc/dump1090/default.nix
index 3e9fe133d93c..29f6c6085602 100644
--- a/pkgs/applications/misc/dump1090/default.nix
+++ b/pkgs/applications/misc/dump1090/default.nix
@@ -15,11 +15,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libusb rtl-sdr ];
 
-  makeFlags = [ "PREFIX=$out" ];
+  makeFlags = [ "PREFIX=$(out)" ];
 
   installPhase = ''
     mkdir -p $out/bin $out/share
-    cp -v dump1090 $out/bin/dump1090
+    cp -v dump1090 view1090 $out/bin
     cp -vr public_html $out/share/dump1090
   '';
 
diff --git a/pkgs/applications/networking/cluster/terraform/providers/default.nix b/pkgs/applications/networking/cluster/terraform/providers/default.nix
index 72da1dd77d57..40117b458550 100644
--- a/pkgs/applications/networking/cluster/terraform/providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/providers/default.nix
@@ -11,6 +11,10 @@ let
         inherit owner repo sha256;
         rev = "v${version}";
       };
+
+      # Terraform allow checking the provider versions, but this breaks
+      # if the versions are not provided via file paths.
+      postBuild = "mv go/bin/${repo}{,_v${version}}";
     };
 
   maybeDrv = name: data:
diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix
index 640f32671bbd..365057414e99 100644
--- a/pkgs/applications/science/biology/samtools/default.nix
+++ b/pkgs/applications/science/biology/samtools/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "samtools";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchurl {
     url = "https://github.com/samtools/samtools/releases/download/${version}/${name}.tar.bz2";
-    sha256 = "17p4vdj2j2qr3b2c0v4100h6cg4jj3zrb4dmdnd9d9aqs74d4p7f";
+    sha256 = "e7b09673176aa32937abd80f95f432809e722f141b5342186dfef6a53df64ca1";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/applications/video/subdl/default.nix b/pkgs/applications/video/subdl/default.nix
new file mode 100644
index 000000000000..32bd731f16e9
--- /dev/null
+++ b/pkgs/applications/video/subdl/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, python3 }:
+
+stdenv.mkDerivation rec {
+  name = "subdl-0.0pre.2017.11.06";
+
+  src = fetchFromGitHub {
+    owner = "alexanderwink";
+    repo = "subdl";
+    rev = "4cf5789b11f0ff3f863b704b336190bf968cd471";
+    sha256 = "0kmk5ck1j49q4ww0lvas2767kwnzhkq0vdwkmjypdx5zkxz73fn8";
+  };
+
+  meta = {
+    homepage = https://github.com/alexanderwink/subdl;
+    description = "A command-line tool to download subtitles from opensubtitles.org";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.exfalso ];
+  };
+
+  buildInputs = [ python3 ];
+
+  installPhase = ''
+    install -vD subdl $out/bin/subdl
+  '';  
+}