diff options
Diffstat (limited to 'pkgs/applications/misc')
32 files changed, 667 insertions, 152 deletions
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 0a98f387ff8..15d894b0413 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -5,12 +5,12 @@ }: stdenv.mkDerivation rec { - version = "3.28.0"; + version = "3.29.0"; name = "calibre-${version}"; src = fetchurl { url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz"; - sha256 = "0b3vv03c6m6972sk8zj3zc5sq6b9837irnfgjlqhv9z5i75m0414"; + sha256 = "1r29vi8j51r0nnzpjbg34ryvizzkn31sq1iz7z748wjfgr87wmyh"; }; patches = [ diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix index 2ac335759ce..23d76afff0c 100644 --- a/pkgs/applications/misc/cointop/default.nix +++ b/pkgs/applications/misc/cointop/default.nix @@ -26,5 +26,6 @@ buildGoPackage rec { homepage = https://cointop.sh; platforms = stdenv.lib.platforms.linux; # cannot test others maintainers = [ ]; + license = stdenv.lib.licenses.asl20; }; } diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix index fd14bba282c..b8eff972ebd 100644 --- a/pkgs/applications/misc/dbeaver/default.nix +++ b/pkgs/applications/misc/dbeaver/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { name = "dbeaver-ce-${version}"; - version = "5.1.4"; + version = "5.1.5"; desktopItem = makeDesktopItem { name = "dbeaver"; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz"; - sha256 = "14i7b3l89rkhqq4zgsdbvcs9pp60djv0rjbm86fpk2wi4zkrlzi5"; + sha256 = "17ai2gxnz1wj5m282sib9qhvy3665km2ig1ixxdklmk8apgdl1xr"; }; installPhase = '' diff --git a/pkgs/applications/misc/dfilemanager/default.nix b/pkgs/applications/misc/dfilemanager/default.nix index 6cbdc8ece0c..eeb7a8ccf52 100644 --- a/pkgs/applications/misc/dfilemanager/default.nix +++ b/pkgs/applications/misc/dfilemanager/default.nix @@ -20,6 +20,5 @@ stdenv.mkDerivation { description = "File manager written in Qt/C++"; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.unix; - maintainers = [ stdenv.lib.maintainers.eduarrrd ]; }; } diff --git a/pkgs/applications/misc/fetchmail/default.nix b/pkgs/applications/misc/fetchmail/default.nix index 5cd8f572ad4..8304cb0f8d1 100644 --- a/pkgs/applications/misc/fetchmail/default.nix +++ b/pkgs/applications/misc/fetchmail/default.nix @@ -29,5 +29,6 @@ stdenv.mkDerivation { platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.peti ]; + license = stdenv.lib.licenses.gpl2Plus; }; } diff --git a/pkgs/applications/misc/gutenberg/default.nix b/pkgs/applications/misc/gutenberg/default.nix index 186475e2cd5..c5982f68201 100644 --- a/pkgs/applications/misc/gutenberg/default.nix +++ b/pkgs/applications/misc/gutenberg/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { name = "gutenberg-${version}"; - version = "0.4.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "Keats"; repo = "gutenberg"; rev = "v${version}"; - sha256 = "1i2jcyq6afswxyjifhl5irv84licsad7c83yiy17454mplvrmyg2"; + sha256 = "0is7156aim2ad8xg2f5068crc4gfvm89x8gxa25vc25p0yr1bpla"; }; - cargoSha256 = "0hzxwvb5m8mvpfxys4ikkaag6khflh5bfglmay11wf6ayighv834"; + cargoSha256 = "146vlr85n9d06am5ki76fh1vb5r8a4lzx5b7dmgi292kc3dsn41z"; nativeBuildInputs = [ cmake pkgconfig openssl ]; buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ]; diff --git a/pkgs/applications/misc/img2pdf/default.nix b/pkgs/applications/misc/img2pdf/default.nix new file mode 100644 index 00000000000..9b6ac086efd --- /dev/null +++ b/pkgs/applications/misc/img2pdf/default.nix @@ -0,0 +1,27 @@ +{ stdenv, python3Packages }: + +with python3Packages; + +buildPythonApplication rec { + pname = "img2pdf"; + version = "0.3.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "071s3gf28nb8ifxkix7dzjny6vib7791mnp0v3f4zagcjcic22a4"; + }; + + doCheck = false; # needs pdfrw + + propagatedBuildInputs = [ + pillow + ]; + + meta = with stdenv.lib; { + description = "Convert images to PDF via direct JPEG inclusion"; + homepage = https://gitlab.mister-muffin.de/josch/img2pdf; + license = licenses.lgpl2; + platforms = platforms.unix; + maintainers = [ maintainers.veprbl ]; + }; +} diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix index 9872ff23f34..e753c5ded95 100644 --- a/pkgs/applications/misc/josm/default.nix +++ b/pkgs/applications/misc/josm/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "josm-${version}"; - version = "14026"; + version = "14066"; src = fetchurl { url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; - sha256 = "1ysi23j2yj5b6cn3xdsrl4xp56klpw4xa7c4gv90z2dllx06mqli"; + sha256 = "06mhaz5vr19ydqc5irhgcbl0s8fifwvaq60iz2nsnlxb1pw89xia"; }; buildInputs = [ jre10 makeWrapper ]; diff --git a/pkgs/applications/misc/keepass-plugins/keeagent/default.nix b/pkgs/applications/misc/keepass-plugins/keeagent/default.nix index cd83d2a44e1..80bf5deceb1 100644 --- a/pkgs/applications/misc/keepass-plugins/keeagent/default.nix +++ b/pkgs/applications/misc/keepass-plugins/keeagent/default.nix @@ -1,19 +1,19 @@ { stdenv, buildEnv, fetchzip, mono }: let - version = "0.8.1"; + version = "0.10.1"; drv = stdenv.mkDerivation { name = "keeagent-${version}"; src = fetchzip { - url = http://lechnology.com/wp-content/uploads/2016/07/KeeAgent_v0.8.1.zip; - sha256 = "16x1qrnzg0xkvi7w29wj3z0ldmql2vcbwxksbsmnidzmygwg98hk"; + url = "https://lechnology.com/wp-content/uploads/2018/04/KeeAgent_v0.10.1.zip"; + sha256 = "0j7az6l9wcr8z66mfplkxwydd4bgz2p2vd69xncf0nxlfb0lshh7"; stripRoot = false; }; meta = { description = "KeePass plugin to allow other programs to access SSH keys stored in a KeePass database for authentication"; - homepage = http://lechnology.com/software/keeagent; + homepage = "http://lechnology.com/software/keeagent"; platforms = with stdenv.lib.platforms; linux; license = stdenv.lib.licenses.gpl2; maintainers = [ ]; diff --git a/pkgs/applications/misc/latte-dock/default.nix b/pkgs/applications/misc/latte-dock/default.nix index eafe0b9b5c6..c22c014bf5f 100644 --- a/pkgs/applications/misc/latte-dock/default.nix +++ b/pkgs/applications/misc/latte-dock/default.nix @@ -1,28 +1,31 @@ -{ mkDerivation, lib, cmake, xorg, plasma-framework, fetchFromGitHub -, extra-cmake-modules, karchive, kwindowsystem, qtx11extras, kcrash }: +{ mkDerivation, lib, cmake, xorg, plasma-framework, fetchurl +, extra-cmake-modules, karchive, kwindowsystem, qtx11extras, kcrash, knewstuff }: -let version = "0.7.5"; in +mkDerivation rec { + pname = "latte-dock"; + version = "0.8.0"; + name = "${pname}-${version}"; -mkDerivation { - name = "latte-dock-${version}"; - - src = fetchFromGitHub { - owner = "psifidotos"; - repo = "Latte-Dock"; - rev = "v${version}"; - sha256 = "0fblbx6qk4miag1mhiyns7idsw03p9pj3xc3xxxnb5rpj1fy0ifv"; + src = fetchurl { + url = "https://download.kde.org/stable/${pname}/${name}.tar.xz"; + sha256 = "1zg9r162r66vcvj5rzgy61mda89sk5yfy96g5p1aahbim0rgbdbs"; + name = "${name}.tar.xz"; }; buildInputs = [ plasma-framework xorg.libpthreadstubs xorg.libXdmcp xorg.libSM ]; nativeBuildInputs = [ extra-cmake-modules cmake karchive kwindowsystem - qtx11extras kcrash ]; + qtx11extras kcrash knewstuff ]; + + meta = with lib; { description = "Dock-style app launcher based on Plasma frameworks"; homepage = https://github.com/psifidotos/Latte-Dock; license = licenses.gpl2; platforms = platforms.unix; - maintainers = [ maintainers.benley ]; + maintainers = [ maintainers.benley maintainers.ysndr ]; }; + + } diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix index 943f36a57ac..3155ab678d8 100644 --- a/pkgs/applications/misc/masterpdfeditor/default.nix +++ b/pkgs/applications/misc/masterpdfeditor/default.nix @@ -1,35 +1,41 @@ -{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, autoPatchelfHook }: +{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook }: + let - version = "4.3.89"; + version = "5.1.12"; + in stdenv.mkDerivation { name = "masterpdfeditor-${version}"; + src = fetchurl { url = "https://code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz"; - sha256 = "0k5bzlhqglskiiq86nmy18mnh5bf2w3mr9cq3pibrwn5pisxnxxc"; + sha256 = "1i3pdrhnlj06phm36gs42s6b94pigcfb8wa5dhmplxn0dqp434hq"; }; nativeBuildInputs = [ autoPatchelfHook ]; - buildInputs = [ sane-backends qtbase qtsvg ]; + buildInputs = [ nss qtbase qtsvg sane-backends stdenv.cc.cc ]; dontStrip = true; installPhase = '' - p=$out/opt/masterpdfeditor - mkdir -p $out/bin $p $out/share/applications $out/share/pixmaps + runHook preInstall + + p=$out/opt/masterpdfeditor + mkdir -p $out/bin - substituteInPlace masterpdfeditor4.desktop \ - --replace 'Exec=/opt/master-pdf-editor-4' "Exec=$out/bin" \ - --replace 'Path=/opt/master-pdf-editor-4' "Path=$out/bin" \ - --replace 'Icon=/opt/master-pdf-editor-4' "Icon=$out/share/pixmaps" - cp -v masterpdfeditor4.png $out/share/pixmaps/ - cp -v masterpdfeditor4.desktop $out/share/applications + substituteInPlace masterpdfeditor5.desktop \ + --replace 'Exec=/opt/master-pdf-editor-5' "Exec=$out/bin" \ + --replace 'Path=/opt/master-pdf-editor-5' "Path=$out/bin" \ + --replace 'Icon=/opt/master-pdf-editor-5' "Icon=$out/share/pixmaps" - cp -v masterpdfeditor4 $p/ - ln -s $p/masterpdfeditor4 $out/bin/masterpdfeditor4 - cp -v -r stamps templates lang fonts $p + install -Dm644 -t $out/share/pixmaps masterpdfeditor5.png + install -Dm644 -t $out/share/applications masterpdfeditor5.desktop + install -Dm755 -t $p masterpdfeditor5 + install -Dm644 license.txt $out/share/$name/LICENSE + ln -s $p/masterpdfeditor5 $out/bin/masterpdfeditor5 + cp -v -r stamps templates lang fonts $p - install -D license.txt $out/share/$name/LICENSE + runHook postInstall ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix index fd0a8ea1fe4..5af524a456b 100644 --- a/pkgs/applications/misc/mdp/default.nix +++ b/pkgs/applications/misc/mdp/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, ncurses }: stdenv.mkDerivation rec { - version = "1.0.12"; + version = "1.0.13"; name = "mdp-${version}"; src = fetchFromGitHub { owner = "visit1985"; repo = "mdp"; rev = version; - sha256 = "04izj9i9rxmgswjh2iawqs6qglfv44zfv042smmcvfh1pm43361i"; + sha256 = "0snmglsmgfavgv6cnlb0j54sr0paf570ajpwk1b3g81v078hz2aq"; }; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/applications/misc/memo/default.nix b/pkgs/applications/misc/memo/default.nix index 072ea7e42dc..c112cf0c928 100644 --- a/pkgs/applications/misc/memo/default.nix +++ b/pkgs/applications/misc/memo/default.nix @@ -1,4 +1,5 @@ { fetchFromGitHub, silver-searcher, tree, man, stdenv, + git, pandocSupport ? true, pandoc ? null , ... }: @@ -8,13 +9,13 @@ stdenv.mkDerivation rec { name = "memo-${version}"; - version = "0.5"; + version = "0.6"; src = fetchFromGitHub { owner = "mrVanDalo"; repo = "memo"; rev = "${version}"; - sha256 = "1kq8hmq4lgvkk717nhmdryr90g61xm0jm7y8dzya8jsxsn531gm8"; + sha256 = "1cvjs36f6vxzfz5d63yhyw8j7gdw5hn6cfzccf7ag08lamjhfhbr"; }; installPhase = let @@ -28,6 +29,7 @@ stdenv.mkDerivation rec { --replace "ack_cmd=ack" "ack_cmd=${silver-searcher}/bin/ag" \ --replace "tree_cmd=tree" "tree_cmd=${tree}/bin/tree" \ --replace "man_cmd=man" "man_cmd=${man}/bin/man" \ + --replace "git_cmd=git" "git_cmd=${git}/bin/git" \ --replace "pandoc_cmd=pandoc" "${pandocReplacement}" mv memo $out/bin/ mv doc/memo.1 $out/share/man/man1/memo.1 diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix index 76517f87464..7068d8aedd3 100644 --- a/pkgs/applications/misc/mysql-workbench/default.nix +++ b/pkgs/applications/misc/mysql-workbench/default.nix @@ -1,118 +1,95 @@ -{ stdenv, fetchurl, makeWrapper, cmake, pkgconfig -, glibc, gnome-keyring, gtk, gtkmm, pcre, swig, sudo -, mysql, libxml2, libctemplate, libmysqlconnectorcpp -, vsqlite, tinyxml, gdal, libiodbc, libpthreadstubs -, libXdmcp, libuuid, libzip, libgnome-keyring, file -, pythonPackages, jre, autoconf, automake, libtool -, boost, glibmm, libsigcxx, pangomm, libX11, openssl -, proj, cairo, libglade +{ stdenv, fetchurl, substituteAll, cmake, ninja, pkgconfig +, glibc, gtk3, gtkmm3, pcre, swig, antlr4_7, sudo +, mysql, libxml2, libmysqlconnectorcpp +, vsqlite, gdal, libiodbc, libpthreadstubs +, libXdmcp, libuuid, libzip, libsecret, libssh +, python2, jre +, boost, libsigcxx, libX11, openssl +, proj, cairo, libxkbcommon, epoxy, wrapGAppsHook +, at-spi2-core, dbus, bash, coreutils }: let - inherit (pythonPackages) pexpect pycrypto python paramiko; + inherit (python2.pkgs) paramiko pycairo pyodbc; in stdenv.mkDerivation rec { pname = "mysql-workbench"; - version = "6.3.8"; + version = "8.0.12"; name = "${pname}-${version}"; src = fetchurl { url = "http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz"; - sha256 = "1bxd828nrawmym6d8awh1vrni8dsbwh1k5am1lrq5ihp5c3kw9ka"; + sha256 = "0d6k1kw0bi3q5dlilzlgds1gcrlf7pis4asm3d6pssh2jmn5hh82"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ cmake gnome-keyring gtk gtk.dev gtkmm pcre swig python sudo - paramiko mysql libxml2 libctemplate libmysqlconnectorcpp vsqlite tinyxml gdal libiodbc file - libpthreadstubs libXdmcp libuuid libzip libgnome-keyring libgnome-keyring.dev jre autoconf - automake libtool boost glibmm glibmm.dev libsigcxx pangomm libX11 pexpect pycrypto openssl - proj cairo cairo.dev makeWrapper libglade ] ; - - prePatch = '' - for f in backend/wbpublic/{grt/spatial_handler.h,grtui/geom_draw_box.h,objimpl/db.query/db_query_Resultset.cpp} ; - do - sed -i 's@#include <gdal/@#include <@' $f ; - done + patches = [ + ./fix-gdal-includes.patch + (substituteAll { + src = ./hardcode-paths.patch; + catchsegv = "${glibc.bin}/bin/catchsegv"; + bash = "${bash}/bin/bash"; + cp = "${coreutils}/bin/cp"; + dd = "${coreutils}/bin/dd"; + ls = "${coreutils}/bin/ls"; + mkdir = "${coreutils}/bin/mkdir"; + nohup = "${coreutils}/bin/nohup"; + rm = "${coreutils}/bin/rm"; + rmdir = "${coreutils}/bin/rmdir"; + sudo = "${sudo}/bin/sudo"; + }) + ]; - sed -i '32s@mysqlparser@mysqlparser sqlparser@' library/mysql.parser/CMakeLists.txt + nativeBuildInputs = [ + cmake ninja pkgconfig jre swig wrapGAppsHook + ]; - cat <<EOF > ext/antlr-runtime/fix-configure - #!${stdenv.shell} - echo "fixing bundled antlr3c configure" ; - sed -i 's@/usr/bin/file@${file}/bin/file@' configure - sed -i '12121d' configure - EOF - chmod +x ext/antlr-runtime/fix-configure - sed -i '236s@&&@& ''${PROJECT_SOURCE_DIR}/ext/antlr-runtime/fix-configure &@' CMakeLists.txt + buildInputs = [ + gtk3 gtkmm3 libX11 antlr4_7.runtime.cpp python2 mysql libxml2 + libmysqlconnectorcpp vsqlite gdal boost libssh openssl + libiodbc pcre cairo libuuid libzip libsecret + libsigcxx proj + # python dependencies: + paramiko pycairo pyodbc # sqlanydb + # transitive dependencies: + libpthreadstubs libXdmcp libxkbcommon epoxy at-spi2-core dbus + ]; - substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc.bin}/bin/catchsegv" - substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "/usr/lib/x86_64-linux-gnu" "${proj}/lib" - patchShebangs $(pwd)/library/mysql.parser/grammar/build-parser - patchShebangs $(pwd)/tools/get_wb_version.sh + postPatch = '' + patchShebangs tools/get_wb_version.sh ''; NIX_CFLAGS_COMPILE = [ - "-I${libsigcxx}/lib/sigc++-2.0/include" - "-I${pangomm}/lib/pangomm-1.4/include" - "-I${glibmm}/lib/giomm-2.4/include" + # error: 'OGRErr OGRSpatialReference::importFromWkt(char**)' is deprecated + "-Wno-error=deprecated-declarations" ]; cmakeFlags = [ - "-DCMAKE_CXX_FLAGS=-std=c++11" "-DMySQL_CONFIG_PATH=${mysql}/bin/mysql_config" - "-DCTemplate_INCLUDE_DIR=${libctemplate}/include" - "-DCAIRO_INCLUDE_DIRS=${cairo.dev}/include" - "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk}/lib/gtk-2.0/include" - "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${gtk.dev}/include" - "-DGTK2_GTKMMCONFIG_INCLUDE_DIR=${gtkmm}/lib/gtkmm-2.4/include" - "-DGTK2_GDKMMCONFIG_INCLUDE_DIR=${gtkmm}/lib/gdkmm-2.4/include" - "-DGTK2_GLIBMMCONFIG_INCLUDE_DIR=${glibmm}/lib/glibmm-2.4/include" + "-DIODBC_CONFIG_PATH=${libiodbc}/bin/iodbc-config" + "-DWITH_ANTLR_JAR=${antlr4_7.jarLocation}" ]; - postInstall = '' - patchShebangs $out/share/mysql-workbench/extras/build_freetds.sh - - for i in $out/lib/mysql-workbench/modules/wb_utils_grt.py \ - $out/lib/mysql-workbench/modules/wb_server_management.py \ - $out/lib/mysql-workbench/modules/wb_admin_grt.py; do - substituteInPlace $i \ - --replace "/bin/bash" ${stdenv.shell} \ - --replace "/usr/bin/sudo" ${sudo}/bin/sudo - done + # There is already an executable and a wrapper in bindir + # No need to wrap both + dontWrapGApps = true; - wrapProgram "$out/bin/mysql-workbench" \ - --prefix LD_LIBRARY_PATH : "${python}/lib" \ - --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.cc}/nix-support/orig-cc)/lib64" \ - --prefix PATH : "${gnome-keyring}/bin" \ - --prefix PATH : "${python}/bin" \ - --set PYTHONPATH $PYTHONPATH \ - --run ' -# The gnome-keyring-daemon must be running. To allow for environments like -# kde, xfce where this is not so, we start it first. -# It is cleaned up using a supervisor subshell which detects that -# the parent has finished via the closed pipe as terminate signal idiom, -# used because we cannot clean up after ourselves due to the exec call. - -# Start gnome-keyring-daemon, export the environment variables it asks us to set. -for expr in $( gnome-keyring-daemon --start ) ; do eval "export "$expr ; done - -# Prepare fifo pipe. -FIFOCTL="/tmp/gnome-keyring-daemon-ctl.$$.fifo" -[ -p $FIFOCTL ] && rm $FIFOCTL -mkfifo $FIFOCTL - -# Supervisor subshell waits reading from pipe, will receive EOF when parent -# closes pipe on termination. Negate read with ! operator to avoid subshell -# quitting when read EOF returns 1 due to -e option being set. -( - exec 19< $FIFOCTL - ! read -u 19 - - kill $GNOME_KEYRING_PID - rm $FIFOCTL -) & + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH : "${python2}/bin" + --prefix PROJSO : "${proj}/lib/libproj.so" + --set PYTHONPATH $PYTHONPATH + ) + ''; -exec 19> $FIFOCTL - ' + # Let’s wrap the programs not ending with bin + # until https://bugs.mysql.com/bug.php?id=91948 is fixed + postFixup = '' + find -L "$out/bin" -type f -executable -print0 \ + | while IFS= read -r -d ''' file; do + if [[ "''${file}" != *-bin ]]; then + echo "Wrapping program ''${file}" + wrapProgram "''${file}" "''${gappsWrapperArgs[@]}" + fi + done ''; meta = with stdenv.lib; { @@ -127,6 +104,6 @@ exec 19> $FIFOCTL homepage = http://wb.mysql.com/; license = licenses.gpl2; maintainers = [ maintainers.kkallio ]; - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/mysql-workbench/fix-gdal-includes.patch b/pkgs/applications/misc/mysql-workbench/fix-gdal-includes.patch new file mode 100644 index 00000000000..0a5c31fd40a --- /dev/null +++ b/pkgs/applications/misc/mysql-workbench/fix-gdal-includes.patch @@ -0,0 +1,47 @@ +--- a/backend/wbpublic/grt/spatial_handler.h ++++ b/backend/wbpublic/grt/spatial_handler.h +@@ -24,12 +24,12 @@ + #ifndef SPATIAL_HANDLER_H_ + #define SPATIAL_HANDLER_H_ + +-#include <gdal/ogrsf_frmts.h> +-#include <gdal/ogr_api.h> +-#include <gdal/gdal_pam.h> +-#include <gdal/memdataset.h> +-#include <gdal/gdal_alg.h> +-#include <gdal/gdal.h> ++#include <ogrsf_frmts.h> ++#include <ogr_api.h> ++#include <gdal_pam.h> ++#include <memdataset.h> ++#include <gdal_alg.h> ++#include <gdal.h> + #include <deque> + #include "base/geometry.h" + #include "wbpublic_public_interface.h" +--- a/backend/wbpublic/grtui/geom_draw_box.h ++++ b/backend/wbpublic/grtui/geom_draw_box.h +@@ -25,7 +25,7 @@ + #define _GEOM_DRAW_BOX_H_ + + #include <mforms/drawbox.h> +-#include <gdal/ogr_geometry.h> ++#include <ogr_geometry.h> + #include "wbpublic_public_interface.h" + + class WBPUBLICBACKEND_PUBLIC_FUNC GeomDrawBox : public mforms::DrawBox { +--- a/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp ++++ b/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp +@@ -21,9 +21,9 @@ + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#include <gdal/ogrsf_frmts.h> +-#include <gdal/ogr_api.h> +-#include <gdal/gdal.h> ++#include <ogrsf_frmts.h> ++#include <ogr_api.h> ++#include <gdal.h> + + #include <grts/structs.db.query.h> + #include <grtpp_util.h> diff --git a/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch b/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch new file mode 100644 index 00000000000..dddf992e4c1 --- /dev/null +++ b/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch @@ -0,0 +1,187 @@ +--- a/frontend/linux/workbench/mysql-workbench.in ++++ b/frontend/linux/workbench/mysql-workbench.in +@@ -99,8 +99,8 @@ + if test "$WB_DEBUG" != ""; then + $WB_DEBUG $MWB_BINARIES_DIR/mysql-workbench-bin "$@" + else +- if type -p catchsegv > /dev/null; then +- catchsegv $MWB_BINARIES_DIR/mysql-workbench-bin "$@" ++ if type -p @catchsegv@ > /dev/null; then ++ @catchsegv@ $MWB_BINARIES_DIR/mysql-workbench-bin "$@" + else + $MWB_BINARIES_DIR/mysql-workbench-bin "$@" + fi +--- a/plugins/migration/frontend/migration_bulk_copy_data.py ++++ b/plugins/migration/frontend/migration_bulk_copy_data.py +@@ -110,7 +110,7 @@ + return 'sh' + + def generate_import_script(self, connection_args, path_to_file, schema_name): +- output = ['#!/bin/bash'] ++ output = ['#!/usr/bin/env bash'] + output.append('MYPATH=\`pwd\`') + + output.append('if [ -f \$MYPATH/%s ] ; then' % self.error_log_name) +@@ -164,7 +164,7 @@ + return 'sh' + + def generate_import_script(self, connection_args, path_to_file, schema_name): +- output = ['#!/bin/bash'] ++ output = ['#!/usr/bin/env bash'] + output.append('MYPATH=\`pwd\`') + + output.append('if [ -f \$MYPATH/%s ] ; then' % self.error_log_name) +@@ -417,7 +417,7 @@ + + with open(script_path, 'w+') as f: + os.chmod(script_path, 0700) +- f.write('#!/bin/bash\n\n') ++ f.write('#!/usr/bin/env bash\n\n') + f.write('MYPATH=`pwd`\n') + + f.write("arg_source_password=\"<put source password here>\"\n") +@@ -521,7 +521,7 @@ + + with open(script_path, 'w+') as f: + os.chmod(script_path, 0700) +- f.write('#!/bin/bash\n\n') ++ f.write('#!/usr/bin/env bash\n\n') + f.write('MYPATH=`pwd`\n') + + f.write("arg_source_password=\"<put source password here>\"\n") +--- a/plugins/wb.admin/backend/wb_server_control.py ++++ b/plugins/wb.admin/backend/wb_server_control.py +@@ -39,7 +39,7 @@ + + UnixVariant = { + "" : { +- 'sudo_command' : "/usr/bin/sudo -k -S -p EnterPasswordHere ", ++ 'sudo_command' : "@sudo@ -k -S -p EnterPasswordHere ", + } + } + +--- a/plugins/wb.admin/backend/wb_server_management.py ++++ b/plugins/wb.admin/backend/wb_server_management.py +@@ -40,7 +40,7 @@ + + def reset_sudo_prefix(): + global default_sudo_prefix +- default_sudo_prefix = '/usr/bin/sudo -k -S -p EnterPasswordHere' ++ default_sudo_prefix = '@sudo@ -k -S -p EnterPasswordHere' + + reset_sudo_prefix() + +@@ -100,7 +100,7 @@ + + if to_spawn: + command += ' &' +- sudo_prefix += ' /usr/bin/nohup' ++ sudo_prefix += ' @nohup@' + + # If as_user is the CURRENT then there's no need to sudo + if as_user != Users.CURRENT: +@@ -111,7 +111,7 @@ + if '/bin/sh' in sudo_prefix or '/bin/bash' in sudo_prefix: + command = "LANG=C " + sudo_prefix + " \"" + command.replace('\\', '\\\\').replace('"', r'\"').replace('$','\\$') + "\"" + else: +- command = "LANG=C " + sudo_prefix + " /bin/bash -c \"" + command.replace('\\', '\\\\').replace('"', r'\"').replace('$','\\$') + "\"" ++ command = "LANG=C " + sudo_prefix + " @bash@ -c \"" + command.replace('\\', '\\\\').replace('"', r'\"').replace('$','\\$') + "\"" + + return command + +@@ -896,9 +896,9 @@ + if as_user == Users.CURRENT: + raise PermissionDeniedError("Cannot set owner of directory %s" % path) + else: +- command = "/bin/mkdir %s && chown %s %s" % (quote_path(path), with_owner, quote_path(path)) ++ command = "@mkdir@ %s && chown %s %s" % (quote_path(path), with_owner, quote_path(path)) + else: +- command = "/bin/mkdir %s" % (quote_path(path)) ++ command = "@mkdir@ %s" % (quote_path(path)) + + res = self.process_ops.exec_cmd(command, + as_user = as_user, +@@ -927,7 +927,7 @@ + @useAbsPath("path") + def remove_directory(self, path, as_user = Users.CURRENT, user_password = None): + output = StringIO.StringIO() +- res = self.process_ops.exec_cmd('/bin/rmdir ' + quote_path(path), ++ res = self.process_ops.exec_cmd('@rmdir@ ' + quote_path(path), + as_user = as_user, + user_password = user_password, + output_handler = output.write, +@@ -940,7 +940,7 @@ + @useAbsPath("path") + def remove_directory_recursive(self, path, as_user = Users.CURRENT, user_password = None): + output = StringIO.StringIO() +- res = self.process_ops.exec_cmd('/bin/rm -R ' + quote_path(path), ++ res = self.process_ops.exec_cmd('@rm@ -R ' + quote_path(path), + as_user = as_user, + user_password = user_password, + output_handler = output.write, +@@ -953,7 +953,7 @@ + @useAbsPath("path") + def delete_file(self, path, as_user = Users.CURRENT, user_password = None): + output = StringIO.StringIO() +- res = self.process_ops.exec_cmd("/bin/rm " + quote_path(path), ++ res = self.process_ops.exec_cmd("@rm@ " + quote_path(path), + as_user = as_user, + user_password = user_password, + output_handler = output.write, +@@ -1001,7 +1001,7 @@ + def _copy_file(self, source, dest, as_user = Users.CURRENT, user_password = None): + output = StringIO.StringIO() + +- res = self.process_ops.exec_cmd("LC_ALL=C /bin/cp " + quote_path(source) + " " + quote_path(dest), ++ res = self.process_ops.exec_cmd("LC_ALL=C @cp@ " + quote_path(source) + " " + quote_path(dest), + as_user = as_user, + user_password = user_password, + output_handler = output.write, +@@ -1077,9 +1077,9 @@ + # for ls -l, the output format changes depending on stdout being a terminal or not + # since both cases are possible, we need to handle both at the same time (1st line being total <nnnn> or not) + # the good news is that if the line is there, then it will always start with total, regardless of the locale +- command = 'LC_ALL=C /bin/ls -l -p %s' % quote_path(path) ++ command = 'LC_ALL=C @ls@ -l -p %s' % quote_path(path) + else: +- command = 'LC_ALL=C /bin/ls -1 -p %s' % quote_path(path) ++ command = 'LC_ALL=C @ls@ -1 -p %s' % quote_path(path) + + output = StringIO.StringIO() + res = self.process_ops.exec_cmd(command, +@@ -2160,9 +2160,9 @@ + def get_range(self, start, end): + f = StringIO.StringIO() + if not self._need_sudo: +- ret = self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.CURRENT, user_password=None, output_handler=f.write) ++ ret = self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.CURRENT, user_password=None, output_handler=f.write) + else: +- ret = self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.ADMIN, user_password=self.get_password, output_handler=f.write) ++ ret = self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.ADMIN, user_password=self.get_password, output_handler=f.write) + + if ret != 0: + raise RuntimeError("Could not get data from file %s" % self.path) +@@ -2170,9 +2170,9 @@ + + def read_task(self, offset, file): + if not self._need_sudo: +- self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=file.write) ++ self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=file.write) + else: +- self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.ADMIN, user_password=self.get_password, output_handler=file.write) ++ self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.ADMIN, user_password=self.get_password, output_handler=file.write) + # this will signal the reader end that there's no more data + file.close() + +@@ -2198,9 +2198,9 @@ + self._pos = offset + f = StringIO.StringIO() + if not self._need_sudo: +- self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=f.write) ++ self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=f.write) + else: +- self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.ADMIN, user_password=self._password, output_handler=f.write) ++ self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.ADMIN, user_password=self._password, output_handler=f.write) + self.data = f + self.data.seek(0) + if self.skip_first_newline: diff --git a/pkgs/applications/misc/osmctools/default.nix b/pkgs/applications/misc/osmctools/default.nix index e70be8201b3..bb53782fb7d 100644 --- a/pkgs/applications/misc/osmctools/default.nix +++ b/pkgs/applications/misc/osmctools/default.nix @@ -42,5 +42,6 @@ stdenv.mkDerivation rec { https://wiki.openstreetmap.org/wiki/Osmfilter ]; platforms = platforms.unix; + license = licenses.agpl3; }; } diff --git a/pkgs/applications/misc/pdfmod/default.nix b/pkgs/applications/misc/pdfmod/default.nix index 2c0d642863e..45d83b5872f 100644 --- a/pkgs/applications/misc/pdfmod/default.nix +++ b/pkgs/applications/misc/pdfmod/default.nix @@ -44,5 +44,6 @@ stdenv.mkDerivation rec { description = "A simple application for modifying PDF documents"; platforms = platforms.all; maintainers = with maintainers; [ obadz ]; + license = licenses.gpl2Plus; }; } diff --git a/pkgs/applications/misc/pdfshuffler/default.nix b/pkgs/applications/misc/pdfshuffler/default.nix index e06f4407534..025ad9cd30a 100644 --- a/pkgs/applications/misc/pdfshuffler/default.nix +++ b/pkgs/applications/misc/pdfshuffler/default.nix @@ -36,5 +36,6 @@ python3Packages.buildPythonApplication rec { description = "Merge or split pdf documents and rotate, crop and rearrange their pages"; platforms = platforms.linux; maintainers = with maintainers; [ mic92 ]; + license = licenses.gpl3; }; } diff --git a/pkgs/applications/misc/pgmanage/default.nix b/pkgs/applications/misc/pgmanage/default.nix index a548c149665..a17f34378a8 100644 --- a/pkgs/applications/misc/pgmanage/default.nix +++ b/pkgs/applications/misc/pgmanage/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "pgmanage-${version}"; - version = "10.3.0"; + version = "10.3.1"; src = fetchFromGitHub { owner = "pgManage"; repo = "pgManage"; rev = "v${version}"; - sha256 = "105gmwkifq04qmp5kpgybwjyx01528r6m3x1pxbvnfyni8sf74qj"; + sha256 = "0ym1arla9wfkmr5n6h6dfyd680vlnng5s5j5nyxi2gl2wxqqhxzz"; }; patchPhase = '' diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix index 347b77c7ab4..0c358e4221a 100644 --- a/pkgs/applications/misc/polybar/default.nix +++ b/pkgs/applications/misc/polybar/default.nix @@ -1,33 +1,36 @@ { cairo, cmake, fetchgit, libXdmcp, libpthreadstubs, libxcb, pcre, pkgconfig -, python2 , stdenv, xcbproto, xcbutil, xcbutilimage, xcbutilrenderutil -, xcbutilwm, xcbutilxrm, makeWrapper +, python2, stdenv, xcbproto, xcbutil, xcbutilcursor, xcbutilimage +, xcbutilrenderutil, xcbutilwm, xcbutilxrm, makeWrapper # optional packages-- override the variables ending in 'Support' to enable or # disable modules , alsaSupport ? true, alsaLib ? null -, iwSupport ? true, wirelesstools ? null , githubSupport ? false, curl ? null , mpdSupport ? false, mpd_clientlib ? null , pulseSupport ? false, libpulseaudio ? null +, iwSupport ? false, wirelesstools ? null +, nlSupport ? true, libnl ? null , i3Support ? false, i3GapsSupport ? false, i3 ? null, i3-gaps ? null, jsoncpp ? null }: assert alsaSupport -> alsaLib != null; assert githubSupport -> curl != null; -assert iwSupport -> wirelesstools != null; assert mpdSupport -> mpd_clientlib != null; assert pulseSupport -> libpulseaudio != null; +assert iwSupport -> ! nlSupport && wirelesstools != null; +assert nlSupport -> ! iwSupport && libnl != null; + assert i3Support -> ! i3GapsSupport && jsoncpp != null && i3 != null; assert i3GapsSupport -> ! i3Support && jsoncpp != null && i3-gaps != null; stdenv.mkDerivation rec { name = "polybar-${version}"; - version = "3.2.0"; + version = "3.2.1"; src = fetchgit { url = "https://github.com/jaagr/polybar"; rev = version; - sha256 = "0p94brndysvmmbidhl4ds4w3qvddb752s4vryp0qckb0hz3knqk8"; + sha256 = "1z45swj2l0h8x8li7prl963cgl6zm3birsswpij8qwcmjaj5l8vz"; }; meta = with stdenv.lib; { @@ -44,14 +47,16 @@ stdenv.mkDerivation rec { buildInputs = [ cairo libXdmcp libpthreadstubs libxcb pcre python2 xcbproto xcbutil - xcbutilimage xcbutilrenderutil xcbutilwm xcbutilxrm + xcbutilcursor xcbutilimage xcbutilrenderutil xcbutilwm xcbutilxrm (if alsaSupport then alsaLib else null) (if githubSupport then curl else null) - (if iwSupport then wirelesstools else null) (if mpdSupport then mpd_clientlib else null) (if pulseSupport then libpulseaudio else null) + (if iwSupport then wirelesstools else null) + (if nlSupport then libnl else null) + (if i3Support || i3GapsSupport then jsoncpp else null) (if i3Support then i3 else null) (if i3GapsSupport then i3-gaps else null) diff --git a/pkgs/applications/misc/qradiolink/default.nix b/pkgs/applications/misc/qradiolink/default.nix new file mode 100644 index 00000000000..4029bd80b88 --- /dev/null +++ b/pkgs/applications/misc/qradiolink/default.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchFromGitHub, alsaLib, boost +, qt4, libpulseaudio, codec2, libconfig +, gnuradio, gnuradio-osmosdr, gsm +, libopus, libjpeg, protobuf, qwt, speex +} : + +let + version = "0.5.0"; + +in stdenv.mkDerivation { + name = "qradiolink-${version}"; + + src = fetchFromGitHub { + owner = "kantooon"; + repo = "qradiolink"; + rev = "${version}"; + sha256 = "0xhg5zhjznmls5m3rhpk1qx0dipxmca12s85w15d0i7qwva2f1gi"; + }; + + preBuild = '' + cd ext + protoc --cpp_out=. Mumble.proto + protoc --cpp_out=. QRadioLink.proto + cd .. + qmake + ''; + + installPhase = '' + mkdir -p $out/bin + cp qradiolink $out/bin + ''; + + buildInputs = [ + qt4 + alsaLib + boost + libpulseaudio + codec2 + libconfig + gsm + gnuradio + gnuradio-osmosdr + libopus + libjpeg + protobuf + speex + qwt + ]; + + meta = with stdenv.lib; { + description = "SDR transceiver application for analog and digital modes"; + homepage = http://qradiolink.org/; + license = licenses.agpl3; + maintainers = [ maintainers.markuskowa ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix index c6d3d6e1a9d..b8c49cb02a6 100644 --- a/pkgs/applications/misc/redshift/default.nix +++ b/pkgs/applications/misc/redshift/default.nix @@ -61,6 +61,15 @@ stdenv.mkDerivation rec { postFixup = "wrapPythonPrograms"; + # the geoclue agent may inspect these paths and expect them to be + # valid without having the correct $PATH set + postInstall = '' + substituteInPlace $out/share/applications/redshift.desktop \ + --replace 'Exec=redshift' "Exec=$out/bin/redshift" + substituteInPlace $out/share/applications/redshift.desktop \ + --replace 'Exec=redshift-gtk' "Exec=$out/bin/redshift-gtk" + ''; + enableParallelBuilding = true; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix index 4ee9f461760..0e59ef5512d 100644 --- a/pkgs/applications/misc/rxvt_unicode/default.nix +++ b/pkgs/applications/misc/rxvt_unicode/default.nix @@ -67,5 +67,6 @@ stdenv.mkDerivation (rec { downloadPage = "http://dist.schmorp.de/rxvt-unicode/Attic/"; maintainers = [ ]; platforms = platforms.unix; + license = licenses.gpl3; }; }) diff --git a/pkgs/applications/misc/tasknc/default.nix b/pkgs/applications/misc/tasknc/default.nix index e44690a5bd7..bf0e964d591 100644 --- a/pkgs/applications/misc/tasknc/default.nix +++ b/pkgs/applications/misc/tasknc/default.nix @@ -38,5 +38,6 @@ stdenv.mkDerivation rec { description = "A ncurses wrapper around taskwarrior"; maintainers = with maintainers; [ infinisil ]; platforms = platforms.linux; # Cannot test others + license = licenses.mit; }; } diff --git a/pkgs/applications/misc/toggldesktop/TogglDesktop.pro b/pkgs/applications/misc/toggldesktop/TogglDesktop.pro new file mode 100644 index 00000000000..e86156313d1 --- /dev/null +++ b/pkgs/applications/misc/toggldesktop/TogglDesktop.pro @@ -0,0 +1,19 @@ +QT += core network widgets + +DEFINES += APP_ENVIRONMENT=\\\"production\\\" +DEFINES += APP_VERSION=\\\"@version@\\\" + +TARGET = toggldesktop +TEMPLATE = app + +SOURCES += *.cpp +HEADERS += *.h +FORMS += *.ui +RESOURCES += *.qrc + +target.path = $$PREFIX + +INSTALLS += target + +CONFIG += link_pkgconfig +PKGCONFIG += bugsnag-qt qxtglobalshortcut qt-oauth-lib toggl x11 xscrnsaver diff --git a/pkgs/applications/misc/toggldesktop/default.nix b/pkgs/applications/misc/toggldesktop/default.nix new file mode 100644 index 00000000000..bc36ffa5e10 --- /dev/null +++ b/pkgs/applications/misc/toggldesktop/default.nix @@ -0,0 +1,148 @@ +{ stdenv, fetchzip, buildEnv, makeDesktopItem, runCommand, writeText, pkgconfig +, cmake, qmake, cacert, jsoncpp, libX11, libXScrnSaver, lua, openssl, poco +, qtbase, qtwebkit, qtx11extras, sqlite }: + +let + name = "toggldesktop-${version}"; + version = "7.4.231"; + + src = fetchzip { + url = "https://github.com/toggl/toggldesktop/archive/v${version}.tar.gz"; + sha256 = "01hqkx9dljnhwnyqi6mmzfp02hnbi2j50rsfiasniqrkbi99x9v1"; + }; + + bugsnag-qt = stdenv.mkDerivation rec { + name = "bugsnag-qt-${version}"; + version = "20180522.005732"; + + src = fetchzip { + url = "https://github.com/yegortimoshenko/bugsnag-qt/archive/${version}.tar.gz"; + sha256 = "02s6mlggh0i4a856md46dipy6mh47isap82jlwmjr7hfsk2ykgnq"; + }; + + nativeBuildInputs = [ qmake ]; + buildInputs = [ qtbase ]; + }; + + qxtglobalshortcut = stdenv.mkDerivation rec { + name = "qxtglobalshortcut-${version}"; + version = "f584471dada2099ba06c574bdfdd8b078c2e3550"; + + src = fetchzip { + url = "https://github.com/hluk/qxtglobalshortcut/archive/${version}.tar.gz"; + sha256 = "1iy17gypav10z8aa62s5jb6mq9y4kb9ms4l61ydmk3xwlap7igw1"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ qtbase qtx11extras ]; + }; + + qt-oauth-lib = stdenv.mkDerivation rec { + name = "qt-oauth-lib-${version}"; + version = "20180521.233208"; + + src = fetchzip { + url = "https://github.com/yegortimoshenko/qt-oauth-lib/archive/${version}.tar.gz"; + sha256 = "0f46d44slzvzaqx0lksvv14lsc1jp8vd2mragxd61r820hybf5z3"; + }; + + nativeBuildInputs = [ qmake ]; + buildInputs = [ qtbase qtwebkit ]; + }; + + poco-pc = writeText "poco.pc" '' + Name: Poco + Description: ${poco.meta.description} + Version: ${poco.version} + Libs: -L${poco}/lib -lPocoDataSQLite -lPocoData -lPocoNet -lPocoNetSSL -lPocoCrypto -lPocoUtil -lPocoXML -lPocoFoundation + Cflags: -I${poco}/include/Poco + ''; + + poco-pc-wrapped = runCommand "poco-pc-wrapped" {} '' + mkdir -p $out/lib/pkgconfig && ln -s ${poco-pc} $_/poco.pc + ''; + + libtoggl = stdenv.mkDerivation { + name = "libtoggl-${version}"; + inherit src version; + + sourceRoot = "source/src"; + + nativeBuildInputs = [ qmake pkgconfig ]; + buildInputs = [ jsoncpp lua openssl poco poco-pc-wrapped sqlite libX11 ]; + + postPatch = '' + cat ${./libtoggl.pro} > libtoggl.pro + rm get_focused_window_{mac,windows}.cc + ''; + }; + + toggldesktop = stdenv.mkDerivation { + name = "${name}-unwrapped"; + inherit src version; + + sourceRoot = "source/src/ui/linux/TogglDesktop"; + + postPatch = '' + substituteAll ${./TogglDesktop.pro} TogglDesktop.pro + substituteInPlace toggl.cpp \ + --replace ./../../../toggl_api.h toggl_api.h + ''; + + postInstall = '' + ln -s ${cacert}/etc/ssl/certs/ca-bundle.crt $out/cacert.pem + ''; + + nativeBuildInputs = [ qmake pkgconfig ]; + + buildInputs = [ + bugsnag-qt + libtoggl + qxtglobalshortcut + qtbase + qtwebkit + qt-oauth-lib + qtx11extras + libX11 + libXScrnSaver + ]; + }; + + toggldesktop-icons = stdenv.mkDerivation { + name = "${name}-icons"; + inherit (toggldesktop) src sourceRoot; + + installPhase = '' + for f in icons/*; do + mkdir -p $out/share/icons/hicolor/$(basename $f)/apps + mv $f/toggldesktop.png $_ + done + ''; + }; + + toggldesktop-wrapped = runCommand "toggldesktop-wrapped" {} '' + mkdir -p $out/bin && ln -s ${toggldesktop}/toggldesktop $_ + ''; + + desktopItem = makeDesktopItem rec { + categories = "Utility;"; + desktopName = "Toggl"; + genericName = desktopName; + name = "toggldesktop"; + exec = "${toggldesktop-wrapped}/bin/toggldesktop"; + icon = "toggldesktop"; + }; +in + +buildEnv { + inherit name; + paths = [ desktopItem toggldesktop-icons toggldesktop-wrapped ]; + + meta = with stdenv.lib; { + description = "Client for Toggl time tracking service"; + homepage = https://github.com/toggl/toggldesktop; + license = licenses.bsd3; + maintainers = with maintainers; [ yegortimoshenko ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/toggldesktop/libtoggl.pro b/pkgs/applications/misc/toggldesktop/libtoggl.pro new file mode 100644 index 00000000000..c8303440fe6 --- /dev/null +++ b/pkgs/applications/misc/toggldesktop/libtoggl.pro @@ -0,0 +1,20 @@ +TARGET = toggl +TEMPLATE = lib + +SOURCES += *.cc +HEADERS += *.h + +headers.files = $$HEADERS +headers.path = $$PREFIX/include +target.path = $$PREFIX/lib + +INSTALLS += headers target + +CONFIG += create_prl create_pc link_pkgconfig +PKGCONFIG += jsoncpp openssl lua poco sqlite3 x11 + +QMAKE_PKGCONFIG_NAME = $$TARGET +QMAKE_PKGCONFIG_PREFIX = $$PREFIX +QMAKE_PKGCONFIG_LIBDIR = $$target.path +QMAKE_PKGCONFIG_INCDIR = $$headers.path +QMAKE_PKGCONFIG_DESTDIR = pkgconfig diff --git a/pkgs/applications/misc/translate-shell/default.nix b/pkgs/applications/misc/translate-shell/default.nix index 8e8a22ed4e4..15c4b8185a2 100644 --- a/pkgs/applications/misc/translate-shell/default.nix +++ b/pkgs/applications/misc/translate-shell/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "translate-shell"; - version = "0.9.6.7"; + version = "0.9.6.8"; src = fetchFromGitHub { owner = "soimort"; repo = "translate-shell"; rev = "v${version}"; - sha256 = "0krcidjh32xwybr1v4nykgf0jjnffjqx125bvn3jh2a44cikyq3n"; + sha256 = "17fc5nlc594lvmihx39h4ddmi8ja3qqsyswzxadbaz7l3zm356b8"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix index 020aa963541..0667ec49b32 100644 --- a/pkgs/applications/misc/twmn/default.nix +++ b/pkgs/applications/misc/twmn/default.nix @@ -30,5 +30,6 @@ stdenv.mkDerivation rec { homepage = https://github.com/sboli/twmn; platforms = with stdenv.lib.platforms; linux; maintainers = [ stdenv.lib.maintainers.matejc ]; + license = stdenv.lib.licenses.lgpl3; }; } diff --git a/pkgs/applications/misc/urh/default.nix b/pkgs/applications/misc/urh/default.nix index 7bf9aca029b..56da0cf22ef 100644 --- a/pkgs/applications/misc/urh/default.nix +++ b/pkgs/applications/misc/urh/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { name = "urh-${version}"; - version = "2.2.2"; + version = "2.2.3"; src = fetchFromGitHub { owner = "jopohl"; repo = "urh"; rev = "v${version}"; - sha256 = "0ncvfl5iyngw3lr2g7awpskrrld6y0x7w0xyp827lcr7x73fvqgp"; + sha256 = "1iq84590cjpf2rlxb60fy4hxi7vir27bbb10axbwrqwnp5cc4bql"; }; buildInputs = [ hackrf rtl-sdr ]; diff --git a/pkgs/applications/misc/xmove/default.nix b/pkgs/applications/misc/xmove/default.nix index 32729d57475..e461a2c8816 100644 --- a/pkgs/applications/misc/xmove/default.nix +++ b/pkgs/applications/misc/xmove/default.nix @@ -14,5 +14,6 @@ stdenv.mkDerivation { meta = { platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.mit; }; } |