From d9292429e73659fca200aeed73cfb0078adaf3e6 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Wed, 7 Mar 2018 08:57:40 +0900 Subject: [PATCH 1/4] alot: 0.5.1 to 0.7.0 - added gnupg to checkInputs - generate manpage (optional) - move alot.desktop file to $out/share/applications - disabled tests as they need the network (dependency on twisted) Thanks to Sarah Brofeldt, Ben Mcginnes for their help (and other) and to FRidh for the repeated careful reviews. --- pkgs/development/libraries/gpgme/default.nix | 23 ++++++++-- .../python-modules/alot/default.nix | 42 +++++++++++++------ 2 files changed, 49 insertions(+), 16 deletions(-) diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 1e59e8f1d65..8958ce45741 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -1,10 +1,18 @@ { stdenv, fetchurl, fetchpatch, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan -, qtbase ? null }: +, file, which +, autoreconfHook +# git can apparently be removed when setting some envvar +, git +, texinfo5 +, qtbase ? null +, withPython ? false, swig2 ? null, python ? null +}: let inherit (stdenv) lib system; in stdenv.mkDerivation rec { - name = "gpgme-1.10.0"; + name = "gpgme-${version}"; + version = "1.10.0"; src = fetchurl { url = "mirror://gnupg/gpgme/${name}.tar.bz2"; @@ -18,11 +26,17 @@ stdenv.mkDerivation rec { [ libgpgerror glib libassuan pth ] ++ lib.optional (qtbase != null) qtbase; - nativeBuildInputs = [ pkgconfig gnupg ]; + nativeBuildInputs = [ file pkgconfig gnupg autoreconfHook git texinfo5 ] + ++ lib.optionals withPython [ python swig2 which ]; + + postPatch ='' + substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file + ''; configureFlags = [ "--enable-fixed-path=${gnupg}/bin" - ]; + "--with-libgpg-error-prefix=${libgpgerror.dev}" + ] ++ lib.optional withPython "--enable-languages=python"; NIX_CFLAGS_COMPILE = # qgpgme uses Q_ASSERT which retains build inputs at runtime unless @@ -45,3 +59,4 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ fuuzetsu primeos ]; }; } + diff --git a/pkgs/development/python-modules/alot/default.nix b/pkgs/development/python-modules/alot/default.nix index 67cd7eafd12..7c704c9dc55 100644 --- a/pkgs/development/python-modules/alot/default.nix +++ b/pkgs/development/python-modules/alot/default.nix @@ -1,17 +1,22 @@ -{ stdenv, buildPythonPackage, fetchFromGitHub, isPy3k -, notmuch, urwid, urwidtrees, twisted, python_magic, configobj, pygpgme, mock, file, gpgme}: +{ stdenv, lib, buildPythonPackage, fetchFromGitHub, isPy3k +, notmuch, urwid, urwidtrees, twisted, python_magic, configobj, pygpgme, mock, file, gpgme +, service-identity, gpg +, gnupg ? null, sphinx, awk ? null, procps ? null, future ? null +, withManpage ? false }: + buildPythonPackage rec { - version = "0.5.1"; pname = "alot"; + version = "0.7"; + outputs = [ "out" ] ++ lib.optional withManpage "man"; disabled = isPy3k; src = fetchFromGitHub { owner = "pazz"; - repo = pname; - rev = "version"; - sha256 = "0ipkhc5wllfq78lg47aiq4qih0yjq8ad9xkrbgc88xk8pk9166i8"; + repo = "alot"; + rev = "${version}"; + sha256 = "1y932smng7qx7ybmqw4qh75b0lv9imfs5ak9fd0qhysij8kpmdhi"; }; postPatch = '' @@ -20,6 +25,8 @@ buildPythonPackage rec { "themes_dir = string(default='$out/share/themes')" ''; + nativeBuildInputs = lib.optional withManpage sphinx; + propagatedBuildInputs = [ notmuch urwid @@ -27,21 +34,32 @@ buildPythonPackage rec { twisted python_magic configobj - pygpgme - mock + service-identity file + gpg ]; - postInstall = '' - mkdir -p $out/share + # some twisted tests need the network (test_env_set... ) + doCheck = false; + postBuild = lib.optionalString withManpage "make -C docs man"; + + checkInputs = [ awk future mock gnupg procps ]; + + postInstall = lib.optionalString withManpage '' + mkdir -p $out/man + cp -r docs/build/man $out/man + '' + + '' + mkdir -p $out/share/applications cp -r extra/themes $out/share - wrapProgram $out/bin/alot \ - --prefix LD_LIBRARY_PATH : '${stdenv.lib.makeLibraryPath [ notmuch file gpgme ]}' + + sed "s,/usr/bin,$out/bin,g" extra/alot.desktop > $out/share/applications/alot.desktop ''; meta = with stdenv.lib; { homepage = https://github.com/pazz/alot; description = "Terminal MUA using notmuch mail"; + license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ garbas ]; }; From ee482f85bfb28626c4dc115ee062cc032d3aef4d Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Wed, 7 Mar 2018 08:56:48 +0900 Subject: [PATCH 2/4] service_identity: cosmetic changes --- pkgs/development/python-modules/service_identity/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/service_identity/default.nix b/pkgs/development/python-modules/service_identity/default.nix index 779e974f15e..93e172a4f60 100644 --- a/pkgs/development/python-modules/service_identity/default.nix +++ b/pkgs/development/python-modules/service_identity/default.nix @@ -13,8 +13,6 @@ buildPythonPackage rec { pname = "service_identity"; version = "17.0.0"; - name = "${pname}-${version}"; - src = fetchFromGitHub { owner = "pyca"; @@ -33,6 +31,6 @@ buildPythonPackage rec { meta = with lib; { description = "Service identity verification for pyOpenSSL"; license = licenses.mit; - homepage = "https://service-identity.readthedocs.io"; + homepage = https://service-identity.readthedocs.io; }; } From a8403b64f837e0e12fc329fd313bc56e8ea94b6c Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Wed, 7 Mar 2018 08:52:01 +0900 Subject: [PATCH 3/4] gpgme: add withPython ? false to enable bindings Useful for MUAs mostly, like alot --- pkgs/development/libraries/gpgme/default.nix | 2 -- pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 8958ce45741..68762e344bd 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchurl, fetchpatch, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan , file, which , autoreconfHook -# git can apparently be removed when setting some envvar , git , texinfo5 , qtbase ? null @@ -59,4 +58,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ fuuzetsu primeos ]; }; } - diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5c49b6bc0c8..7ad86720bb6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8173,6 +8173,8 @@ in { google_gax = callPackage ../development/python-modules/google_gax { }; + gpg = toPythonModule (pkgs.gpgme.override { withPython=true; }); + grammalecte = callPackage ../development/python-modules/grammalecte { }; greenlet = buildPythonPackage rec { From 45e4dc0d5dc97349a4631d85107e12a260b25b25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 26 Mar 2018 19:25:55 +0100 Subject: [PATCH 4/4] python.pkgs.gpg: rename to gpgme Let's be honest with what we expose. --- pkgs/development/python-modules/alot/default.nix | 6 +++--- pkgs/top-level/python-packages.nix | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/alot/default.nix b/pkgs/development/python-modules/alot/default.nix index 7c704c9dc55..7abc56c4783 100644 --- a/pkgs/development/python-modules/alot/default.nix +++ b/pkgs/development/python-modules/alot/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, buildPythonPackage, fetchFromGitHub, isPy3k -, notmuch, urwid, urwidtrees, twisted, python_magic, configobj, pygpgme, mock, file, gpgme -, service-identity, gpg +, notmuch, urwid, urwidtrees, twisted, python_magic, configobj, mock, file, gpgme +, service-identity , gnupg ? null, sphinx, awk ? null, procps ? null, future ? null , withManpage ? false }: @@ -36,7 +36,7 @@ buildPythonPackage rec { configobj service-identity file - gpg + gpgme ]; # some twisted tests need the network (test_env_set... ) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7ad86720bb6..b5b86e3586a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8173,7 +8173,7 @@ in { google_gax = callPackage ../development/python-modules/google_gax { }; - gpg = toPythonModule (pkgs.gpgme.override { withPython=true; }); + gpgme = toPythonModule (pkgs.gpgme.override { withPython=true; }); grammalecte = callPackage ../development/python-modules/grammalecte { };