diff options
author | Aaron Janse <aaron@ajanse.me> | 2019-03-16 11:17:03 -0700 |
---|---|---|
committer | worldofpeace <worldofpeace@protonmail.ch> | 2019-06-01 13:59:50 -0400 |
commit | a9a03c707388ceedfe423b089bee04f06c165b46 (patch) | |
tree | b53ae0f5d58824945e707fc3f3781dc9cc8cd8e5 /pkgs/applications/misc/ulauncher | |
parent | 8d1270f9c3d6df9a6c4b0b4d1750dce942c6708b (diff) | |
download | nixpkgs-a9a03c707388ceedfe423b089bee04f06c165b46.tar nixpkgs-a9a03c707388ceedfe423b089bee04f06c165b46.tar.gz nixpkgs-a9a03c707388ceedfe423b089bee04f06c165b46.tar.bz2 nixpkgs-a9a03c707388ceedfe423b089bee04f06c165b46.tar.lz nixpkgs-a9a03c707388ceedfe423b089bee04f06c165b46.tar.xz nixpkgs-a9a03c707388ceedfe423b089bee04f06c165b46.tar.zst nixpkgs-a9a03c707388ceedfe423b089bee04f06c165b46.zip |
ulauncher: init at 4.4.0.r1
Co-Authored-By: worldofpeace <worldofpeace@protonmail.ch>
Diffstat (limited to 'pkgs/applications/misc/ulauncher')
-rw-r--r-- | pkgs/applications/misc/ulauncher/default.nix | 108 | ||||
-rw-r--r-- | pkgs/applications/misc/ulauncher/fix-path.patch | 13 |
2 files changed, 121 insertions, 0 deletions
diff --git a/pkgs/applications/misc/ulauncher/default.nix b/pkgs/applications/misc/ulauncher/default.nix new file mode 100644 index 00000000000..961df1a4c53 --- /dev/null +++ b/pkgs/applications/misc/ulauncher/default.nix @@ -0,0 +1,108 @@ +{ stdenv +, fetchFromGitHub +, fetchurl +, python27Packages +, substituteAll +, gnome3 +, gobject-introspection +, wrapGAppsHook +, gtk3 +, webkitgtk +, libnotify +, keybinder3 +, libappindicator +, intltool +, wmctrl +, hicolor-icon-theme +, xvfb_run +}: + +python27Packages.buildPythonApplication rec { + pname = "ulauncher"; + version = "4.4.0.r1"; + + # Python 3 support is currently in development + # on the dev branch and 5.x.x releases + disabled = ! python27Packages.isPy27; + + src = fetchurl { + url = "https://github.com/Ulauncher/Ulauncher/releases/download/${version}/ulauncher_${version}.tar.gz"; + sha256 = "12v7qpjhf0842ivsfflsl2zlvhiaw25f9ffv7vhnkvrhrmksim9f"; + }; + + nativeBuildInputs = with python27Packages; [ + distutils_extra + intltool + wrapGAppsHook + ]; + + buildInputs = [ + gnome3.adwaita-icon-theme + gobject-introspection + hicolor-icon-theme + keybinder3 + libappindicator + libnotify + webkitgtk + wmctrl + ]; + + propagatedBuildInputs = with python27Packages; [ + dbus-python + notify + pygobject3 + pyinotify + pysqlite + python-Levenshtein + pyxdg + websocket_client + ]; + + checkInputs = with python27Packages; [ + mock + pytest_3 + pytest-mock + pytestpep8 + xvfb_run + ]; + + patches = [ + ./fix-path.patch + ]; + + postPatch = '' + substituteInPlace setup.py --subst-var out + ''; + + # https://github.com/Ulauncher/Ulauncher/issues/390 + doCheck = false; + + preCheck = '' + export PYTHONPATH=$PYTHONPATH:$out/${python27Packages.python.sitePackages} + ''; + + # Simple translation of + # - https://github.com/Ulauncher/Ulauncher/blob/f5a601bdca75198a6a31b9d84433496b63530e74/test + checkPhase = '' + runHook preCheck + + # skip tests in invocation that handle paths that + # aren't nix friendly (i think) + xvfb-run -s '-screen 0 1024x768x16' \ + pytest -k 'not TestPath and not test_handle_key_press_event' --pep8 tests + + runHook postCheck + ''; + + preFixup = '' + gappsWrapperArgs+=(--prefix PATH : "${stdenv.lib.makeBinPath [ wmctrl ]}") + ''; + + meta = with stdenv.lib; { + description = "A fast application launcher for Linux, written in Python, using GTK"; + homepage = https://ulauncher.io/; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ aaronjanse worldofpeace ]; + }; +} diff --git a/pkgs/applications/misc/ulauncher/fix-path.patch b/pkgs/applications/misc/ulauncher/fix-path.patch new file mode 100644 index 00000000000..2936df65194 --- /dev/null +++ b/pkgs/applications/misc/ulauncher/fix-path.patch @@ -0,0 +1,13 @@ +diff --git a/setup.py b/setup.py +index 3616104..e9bbfda 100755 +--- a/setup.py ++++ b/setup.py +@@ -112,7 +112,7 @@ class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto): + DistUtilsExtra.auto.install_auto.run(self) + + target_data = '/' + os.path.relpath(self.install_data, self.root) + '/' +- target_pkgdata = target_data + 'share/ulauncher/' ++ target_pkgdata = '@out@/share/ulauncher/' + target_scripts = '/' + os.path.relpath(self.install_scripts, + self.root) + '/' + |