diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2018-11-29 08:12:56 +0100 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2018-11-29 08:12:56 +0100 |
commit | 9db2421d1f65beb38911e8133349193db0042a1d (patch) | |
tree | 90a2f4a56cf871c74aad86138d85e9631c2c2f86 /pkgs/applications | |
parent | 9caab8ff4a1ad36fbc0ab866f1b0f7c15d35ba90 (diff) | |
parent | 8d88e4f6c7b09fe811d92b346e5eafefe07a47c9 (diff) | |
download | nixlib-9db2421d1f65beb38911e8133349193db0042a1d.tar nixlib-9db2421d1f65beb38911e8133349193db0042a1d.tar.gz nixlib-9db2421d1f65beb38911e8133349193db0042a1d.tar.bz2 nixlib-9db2421d1f65beb38911e8133349193db0042a1d.tar.lz nixlib-9db2421d1f65beb38911e8133349193db0042a1d.tar.xz nixlib-9db2421d1f65beb38911e8133349193db0042a1d.tar.zst nixlib-9db2421d1f65beb38911e8133349193db0042a1d.zip |
Merge master into staging-next
Diffstat (limited to 'pkgs/applications')
47 files changed, 922 insertions, 355 deletions
diff --git a/pkgs/applications/audio/avldrums-lv2/default.nix b/pkgs/applications/audio/avldrums-lv2/default.nix index 40fb0c6d9e15..75b6d8e27580 100644 --- a/pkgs/applications/audio/avldrums-lv2/default.nix +++ b/pkgs/applications/audio/avldrums-lv2/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "avldrums.lv2"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitHub { owner = "x42"; repo = pname; rev = "v${version}"; - sha256 = "0w51gdshq2i5bix2x5l3g3gnycy84nlzf5sj0jkrw0zrnbk6ghwg"; + sha256 = "0yhq3n5bahhqpj40mvlkxcjsdsw63jsbz20pl77bx2qj30w25i2j"; fetchSubmodules = true; }; diff --git a/pkgs/applications/audio/dragonfly-reverb/default.nix b/pkgs/applications/audio/dragonfly-reverb/default.nix index fbe987e09cbe..1710931aa229 100644 --- a/pkgs/applications/audio/dragonfly-reverb/default.nix +++ b/pkgs/applications/audio/dragonfly-reverb/default.nix @@ -6,8 +6,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "michaelwillis"; repo = "dragonfly-reverb"; - rev = "0.9.4"; - sha256 = "0lc45jybjwg4wrcz4s9lvzpvqawgj825rkqhz2xxvalfbvjazi53"; + rev = "1.0.0"; + sha256 = "05m4hd8lg0a7iiia6cbiw5qmc4p8vbkxp2qh7ywaabawiwa9r24x"; fetchSubmodules = true; }; diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix index 847e67ebd8ee..c3f45caf5311 100644 --- a/pkgs/applications/audio/mopidy/iris.nix +++ b/pkgs/applications/audio/mopidy/iris.nix @@ -2,11 +2,11 @@ pythonPackages.buildPythonApplication rec { pname = "Mopidy-Iris"; - version = "3.31.1"; + version = "3.31.2"; src = pythonPackages.fetchPypi { inherit pname version; - sha256 = "1djxkgjvfzijvlq3gill1p20l0q64dbv9wd55whbir1l7y8wdga5"; + sha256 = "0639ib5nicrabckjd17wdmhl8n3822gc2p1bn0xv8mq70paspar6"; }; propagatedBuildInputs = [ @@ -17,7 +17,7 @@ pythonPackages.buildPythonApplication rec { pylast spotipy raven - tornado + tornado_4 ]); postPatch = "sed -i /tornado/d setup.py"; diff --git a/pkgs/applications/audio/renoise/default.nix b/pkgs/applications/audio/renoise/default.nix index c3474b60348e..081c4ab41acb 100644 --- a/pkgs/applications/audio/renoise/default.nix +++ b/pkgs/applications/audio/renoise/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, libX11, libXext, libXcursor, libXrandr, libjack2, alsaLib, - mpg123, makeWrapper, releasePath ? null }: +{ stdenv, fetchurl, libX11, libXext, libXcursor, libXrandr, libjack2, alsaLib +, mpg123, releasePath ? null }: with stdenv.lib; @@ -36,8 +36,7 @@ stdenv.mkDerivation rec { releasePath else throw "Platform is not supported by Renoise"; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ libX11 libXext libXcursor libXrandr alsaLib libjack2 ]; + buildInputs = [ alsaLib libjack2 libX11 libXcursor libXext libXrandr ]; installPhase = '' cp -r Resources $out @@ -56,9 +55,13 @@ stdenv.mkDerivation rec { mkdir $out/bin ln -s $out/renoise $out/bin/renoise + ''; - patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath $out/lib $out/renoise - wrapProgram "$out/renoise" --prefix LD_LIBRARY_PATH : "${mpg123}/lib" + postFixup = '' + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + --set-rpath ${mpg123}/lib:$out/lib \ + $out/renoise ''; meta = { diff --git a/pkgs/applications/audio/x42-plugins/default.nix b/pkgs/applications/audio/x42-plugins/default.nix index 7c57b884c8eb..e6041dc9b1c5 100644 --- a/pkgs/applications/audio/x42-plugins/default.nix +++ b/pkgs/applications/audio/x42-plugins/default.nix @@ -3,12 +3,12 @@ , libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }: stdenv.mkDerivation rec { - version = "20180812"; + version = "20181103"; name = "x42-plugins-${version}"; src = fetchurl { url = "https://gareus.org/misc/x42-plugins/${name}.tar.xz"; - sha256 = "0gzwzxpa2k2w9c6j3pspwi9slfyd57wb192d6yqcg92pfmnxy9dz"; + sha256 = "085d6qjj7nl22f0xamqdrnfxwi8zrfwgkwm1svm73bjkdv270438"; }; nativeBuildInputs = [ pkgconfig ]; @@ -34,6 +34,6 @@ stdenv.mkDerivation rec { homepage = https://github.com/x42/x42-plugins; maintainers = with maintainers; [ magnetophon ]; license = licenses.gpl2; - platforms = platforms.linux; + platforms = [ "i686-linux" "x86_64-linux" ]; }; } diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 00444e1c2c7a..b849f1fa62d5 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -13,14 +13,14 @@ let sha256Hash = "117skqjax1xz9plarhdnrw2rwprjpybdc7mx7wggxapyy920vv5r"; }; betaVersion = { - version = "3.3.0.16"; # "Android Studio 3.3 Beta 4" - build = "182.5114240"; - sha256Hash = "12gzwnlvc1w5lywpdckdgwxy2yrhf0m0fvaljdsis2arw0x9qdh2"; + version = "3.3.0.17"; # "Android Studio 3.3 RC 1" + build = "182.5138683"; + sha256Hash = "0apc566l4gwkwvfgj50d4qxm2gw26rxdlyr8kj3kfcra9a33c2b7"; }; latestVersion = { # canary & dev - version = "3.4.0.3"; # "Android Studio 3.4 Canary 4" - build = "183.5129585"; - sha256Hash = "10y09sy0h4yp39dwpp8x7kjvw8r7hvk0qllbbaqj76j33xa85793"; + version = "3.4.0.4"; # "Android Studio 3.4 Canary 5" + build = "183.5141831"; + sha256Hash = "0xfk5vyjk3pdb44jp43vb5394486z2qgzrdhjzbf1ncbhvaf0aji"; }; in rec { # Old alias diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix index cbc30588434a..9595bfe4d8ba 100644 --- a/pkgs/applications/editors/eclipse/plugins.nix +++ b/pkgs/applications/editors/eclipse/plugins.nix @@ -555,12 +555,12 @@ rec { spotbugs = buildEclipseUpdateSite rec { name = "spotbugs-${version}"; - version = "3.1.8"; + version = "3.1.9"; src = fetchzip { stripRoot = false; url = "https://github.com/spotbugs/spotbugs/releases/download/${version}/eclipsePlugin.zip"; - sha256 = "0086shivxx745f69226f59xcv7l9xliwyr9kxm6zyn753c888js3"; + sha256 = "0m68jbyaiz0rm4qq3nnwnvgndzv2c6ay6i29kh0p0vdbanggq3xz"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 50922982e0cf..3d905a83c8e7 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -276,12 +276,12 @@ in goland = buildGoland rec { name = "goland-${version}"; - version = "2018.2.4"; /* updated by script */ + version = "2018.3"; /* updated by script */ description = "Up and Coming Go IDE"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/go/${name}.tar.gz"; - sha256 = "0aan23ggs314bvpsldsv9m4pdmnlgdcjac9x6hv1j145a1pp439i"; /* updated by script */ + sha256 = "0hd44flxqnnxg390mkf4ppjs2nxv0nwdc7a2i65f69bp5h61x783"; /* updated by script */ }; wmClass = "jetbrains-goland"; update-channel = "GoLand Release"; @@ -289,12 +289,12 @@ in idea-community = buildIdea rec { name = "idea-community-${version}"; - version = "2018.2.6"; /* updated by script */ + version = "2018.3"; /* updated by script */ description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; - sha256 = "02hpbyivji9vnik7p04zrja1rhhl49r0365g0i6sa1rrwd1fhvwf"; /* updated by script */ + sha256 = "01ccz5ksbv8xh8mnk3zxqpia8zgayy8bcgmbwqibrykz47y6r7yy"; /* updated by script */ }; wmClass = "jetbrains-idea-ce"; update-channel = "IntelliJ IDEA Release"; @@ -302,12 +302,12 @@ in idea-ultimate = buildIdea rec { name = "idea-ultimate-${version}"; - version = "2018.2.6"; /* updated by script */ + version = "2018.3"; /* updated by script */ description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz"; - sha256 = "0x0ylcbj8spvzmwxrw3p4c64ad27iz58lwj4yb8a6vwh6p22gflk"; /* updated by script */ + sha256 = "16z0pqmxjn5dl42rbz7mx8gi13xs3220pzkdsdkh1k1ny9caqzvj"; /* updated by script */ }; wmClass = "jetbrains-idea"; update-channel = "IntelliJ IDEA Release"; @@ -328,12 +328,12 @@ in pycharm-community = buildPycharm rec { name = "pycharm-community-${version}"; - version = "2018.2.5"; /* updated by script */ + version = "2018.3"; /* updated by script */ description = "PyCharm Community Edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "0zfnhrkv4y90a3myq13406vzivg234l69x0c5d7vyv6ys7dmq5fm"; /* updated by script */ + sha256 = "0kgrh3w4lpk7qkp5gss24in1nqahdfllvf97qz6r77zn9n5k1wq7"; /* updated by script */ }; wmClass = "jetbrains-pycharm-ce"; update-channel = "PyCharm Release"; @@ -341,12 +341,12 @@ in pycharm-professional = buildPycharm rec { name = "pycharm-professional-${version}"; - version = "2018.2.5"; /* updated by script */ + version = "2018.3"; /* updated by script */ description = "PyCharm Professional Edition"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "0yfq25kmzzd15x83zdbrq9j62c32maklzhsk1rzymabyb56blh5c"; /* updated by script */ + sha256 = "0q4scwnqy0h725g9z5hd145c3n10iaj04z790s4lixg1c63h3y8q"; /* updated by script */ }; wmClass = "jetbrains-pycharm"; update-channel = "PyCharm Release"; @@ -367,12 +367,12 @@ in ruby-mine = buildRubyMine rec { name = "ruby-mine-${version}"; - version = "2018.2.4"; /* updated by script */ + version = "2018.2.5"; /* updated by script */ description = "The Most Intelligent Ruby and Rails IDE"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; - sha256 = "0dk3ch749ai5kyg9q8819ckrqw2jk4f656iqrkkpab9fjqfjylka"; /* updated by script */ + sha256 = "0b01fnifk5iawyf2zi7r5ffz8dxlh18g2ilrkc5746vmnsp0jxq4"; /* updated by script */ }; wmClass = "jetbrains-rubymine"; update-channel = "RubyMine 2018.2"; @@ -380,12 +380,12 @@ in webstorm = buildWebStorm rec { name = "webstorm-${version}"; - version = "2018.2.6"; /* updated by script */ + version = "2018.3"; /* updated by script */ description = "Professional IDE for Web and JavaScript development"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz"; - sha256 = "1snx59b6d0szd1a07agpqxlprhy2mc9jvbnxcck5hfwxl3ic7x5g"; /* updated by script */ + sha256 = "0msvgdjbdipc4g8j705d1jya2mjmx4wwhb23nch3znh7grryr75s"; /* updated by script */ }; wmClass = "jetbrains-webstorm"; update-channel = "WebStorm Release"; diff --git a/pkgs/applications/graphics/tesseract/4.x.nix b/pkgs/applications/graphics/tesseract/4.x.nix index 156c911b9b86..2ebca09b831f 100644 --- a/pkgs/applications/graphics/tesseract/4.x.nix +++ b/pkgs/applications/graphics/tesseract/4.x.nix @@ -7,20 +7,20 @@ stdenv.mkDerivation rec { name = "tesseract-${version}"; - version = "4.00.00alpha-git-20170410"; + version = "4.0.0"; src = fetchFromGitHub { owner = "tesseract-ocr"; repo = "tesseract"; - rev = "36a995bdc92eb2dd8bc5a63205708944a3f990a1"; - sha256 = "0xz3krvap8sdm27v1dyb34lcdmx11wzvxyszpppfsfmjgkvg19bq"; + rev = version; + sha256 = "1b5fi2vibc4kk9b30kkk4ais4bw8fbbv24bzr5709194hb81cav8"; }; tessdata = fetchFromGitHub { owner = "tesseract-ocr"; repo = "tessdata"; - rev = "8bf2e7ad08db9ca174ae2b0b3a7498c9f1f71d40"; - sha256 = "0idwkv4qsmmqhrxcgyhy32yldl3vk054m7dkv4fjswfnalgsx794"; + rev = version; + sha256 = "1chw1ya5zf8aaj2ixr9x013x7vwwwjjmx6f2ag0d6i14lypygy28"; }; nativeBuildInputs = [ pkgconfig autoreconfHook autoconf-archive ]; diff --git a/pkgs/applications/kde/dolphin.nix b/pkgs/applications/kde/dolphin.nix index dcc797743035..241bb71983a0 100644 --- a/pkgs/applications/kde/dolphin.nix +++ b/pkgs/applications/kde/dolphin.nix @@ -4,7 +4,8 @@ baloo, baloo-widgets, kactivities, kbookmarks, kcmutils, kcompletion, kconfig, kcoreaddons, kdelibs4support, kdbusaddons, kfilemetadata, ki18n, kiconthemes, kinit, kio, knewstuff, knotifications, - kparts, ktexteditor, kwindowsystem, phonon, solid + kparts, ktexteditor, kwindowsystem, phonon, solid, + wayland, qtwayland }: mkDerivation { @@ -19,6 +20,7 @@ mkDerivation { kcoreaddons kdelibs4support kdbusaddons kfilemetadata ki18n kiconthemes kinit kio knewstuff knotifications kparts ktexteditor kwindowsystem phonon solid + wayland qtwayland ]; outputs = [ "out" "dev" ]; # We need the RPATH for linking, because the `libkdeinit5_dolphin.so` links diff --git a/pkgs/applications/misc/aminal/default.nix b/pkgs/applications/misc/aminal/default.nix new file mode 100644 index 000000000000..ebf78be7a08b --- /dev/null +++ b/pkgs/applications/misc/aminal/default.nix @@ -0,0 +1,75 @@ +{ buildGoPackage +, Carbon +, Cocoa +, Kernel +, cf-private +, fetchFromGitHub +, lib +, mesa_glu +, stdenv +, xorg +}: + +buildGoPackage rec { + name = "aminal-${version}"; + version = "0.7.4"; + + goPackagePath = "github.com/liamg/aminal"; + + buildInputs = + lib.optionals stdenv.isLinux [ + mesa_glu + xorg.libX11 + xorg.libXcursor + xorg.libXi + xorg.libXinerama + xorg.libXrandr + xorg.libXxf86vm + ] ++ lib.optionals stdenv.isDarwin [ + Carbon + Cocoa + Kernel + cf-private /* Needed for NSDefaultRunLoopMode */ + ]; + + src = fetchFromGitHub { + owner = "liamg"; + repo = "aminal"; + rev = "v${version}"; + sha256 = "0wnzxjlv98pi3gy4hp3d19pwpa4kf1h5rqy03s9bcqdbpb1v1b7v"; + }; + + preBuild = '' + buildFlagsArray=("-ldflags=-X ${goPackagePath}/version.Version=${version}") + ''; + + meta = with lib; { + description = "Golang terminal emulator from scratch"; + longDescription = '' + Aminal is a modern terminal emulator for Mac/Linux implemented in Golang + and utilising OpenGL. + + The project is experimental at the moment, so you probably won't want to + rely on Aminal as your main terminal for a while. + + Features: + - Unicode support + - OpenGL rendering + - Customisation options + - True colour support + - Support for common ANSI escape sequences a la xterm + - Scrollback buffer + - Clipboard access + - Clickable URLs + - Multi platform support (Windows coming soon...) + - Sixel support + - Hints/overlays + - Built-in patched fonts for powerline + - Retina display support + ''; + homepage = https://github.com/liamg/aminal; + license = licenses.gpl3; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/applications/misc/autospotting/default.nix b/pkgs/applications/misc/autospotting/default.nix new file mode 100644 index 000000000000..2f38307ca1e5 --- /dev/null +++ b/pkgs/applications/misc/autospotting/default.nix @@ -0,0 +1,30 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "autospotting-${version}"; + version = "unstable-2018-11-17"; + goPackagePath = "github.com/AutoSpotting/AutoSpotting"; + + src = fetchFromGitHub { + owner = "AutoSpotting"; + repo = "AutoSpotting"; + rev = "122ab8f292a2f718dd85e79ec22acd455122907e"; + sha256 = "0p48lgig9kblxvgq1kggczkn4qdbx6ciq9c8x0179i80vl4jf7v6"; + }; + + goDeps = ./deps.nix; + + # patching path where repository used to exist + postPatch = '' + sed -i "s+github.com/cristim/autospotting/core+github.com/AutoSpotting/AutoSpotting/core+" autospotting.go + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/AutoSpotting/AutoSpotting; + description = "Automatically convert your existing AutoScaling groups to up to 90% cheaper spot instances with minimal configuration changes"; + license = licenses.free; + maintainers = [ maintainers.costrouc ]; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/applications/misc/autospotting/deps.nix b/pkgs/applications/misc/autospotting/deps.nix new file mode 100644 index 000000000000..ea744ed6648f --- /dev/null +++ b/pkgs/applications/misc/autospotting/deps.nix @@ -0,0 +1,75 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "github.com/aws/aws-lambda-go"; + fetch = { + type = "git"; + url = "https://github.com/aws/aws-lambda-go"; + rev = "2d482ef09017ae953b1e8d5a6ddac5b696663a3c"; + sha256 = "06v2yfvn4sn116lds0526a8mfrsng4vafrdjf1dhpalqarrbdvmz"; + }; + } + { + goPackagePath = "github.com/aws/aws-sdk-go"; + fetch = { + type = "git"; + url = "https://github.com/aws/aws-sdk-go"; + rev = "9333060a8d957db41bff1c80603a802aa674fad8"; + sha256 = "0fnypw6zm6k70fzhm5a8g69ag64rxbrrpdk7l3rkfqd99slyg5kz"; + }; + } + { + goPackagePath = "github.com/cristim/ec2-instances-info"; + fetch = { + type = "git"; + url = "https://github.com/cristim/ec2-instances-info"; + rev = "73c042a5558cd6d8b61fb82502d6f7aec334e9ed"; + sha256 = "1xajrkxqqz5wlbi9w2wdhnk115rbmqxyga29f8v9psq8hzwgi0rg"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "d8f796af33cc11cb798c1aaeb27a4ebc5099927d"; + sha256 = "19z27f306fpsrjdvkzd61w1bdazcdbczjyjck177g33iklinhpvx"; + }; + } + { + goPackagePath = "github.com/go-ini/ini"; + fetch = { + type = "git"; + url = "https://github.com/go-ini/ini"; + rev = "5cf292cae48347c2490ac1a58fe36735fb78df7e"; + sha256 = "0xbnw1nd22q6k863n5gs0nxld15w0p8qxbhfky85akcb5rk1vwi9"; + }; + } + { + goPackagePath = "github.com/jmespath/go-jmespath"; + fetch = { + type = "git"; + url = "https://github.com/jmespath/go-jmespath"; + rev = "0b12d6b5"; + sha256 = "1vv6hph8j6xgv7gwl9vvhlsaaqsm22sxxqmgmldi4v11783pc1ld"; + }; + } + { + goPackagePath = "github.com/namsral/flag"; + fetch = { + type = "git"; + url = "https://github.com/namsral/flag"; + rev = "67f268f20922975c067ed799e4be6bacf152208c"; + sha256 = "1lmxq3z276zrsggpfq9b7yklzzxdyib49zr8sznb1lcqlvxqsr47"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "645ef00459ed84a119197bfb8d8205042c6df63d"; + sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5"; + }; + } +] \ No newline at end of file diff --git a/pkgs/applications/misc/slic3r/prusa3d.nix b/pkgs/applications/misc/slic3r/prusa3d.nix index cc9133257a0c..2f5486a0f4bc 100644 --- a/pkgs/applications/misc/slic3r/prusa3d.nix +++ b/pkgs/applications/misc/slic3r/prusa3d.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages, +{ stdenv, lib, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages, boost, tbb, wxGTK30, pkgconfig, gtk3, fetchurl, gtk2, libGLU, glew, eigen, curl, gtest, nlopt, pcre, xorg }: let @@ -98,6 +98,10 @@ stdenv.mkDerivation rec { # seems to be the easiest way. sed -i "s|\''${PERL_VENDORARCH}|$out/lib/slic3r-prusa3d|g" xs/CMakeLists.txt sed -i "s|\''${PERL_VENDORLIB}|$out/lib/slic3r-prusa3d|g" xs/CMakeLists.txt + '' + lib.optionalString (lib.versionOlder "2.5" nlopt.version) '' + # Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx + # now seems to be integrated into the main lib. + sed -i 's|nlopt_cxx|nlopt|g' xs/src/libnest2d/cmake_modules/FindNLopt.cmake ''; postInstall = '' @@ -114,7 +118,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "prusa3d"; repo = "Slic3r"; - sha256 = "0068wwsjwmnxql7653vy3labcyslzf17kr8xdr4lg2jplm022hvy"; + sha256 = "0crjrll8cjpkllval6abrqzvzp8g3rnb4vmwi5vivw0jvdv3w5y7"; rev = "version_${version}"; }; diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix index d764a5388535..ed524b331dd9 100644 --- a/pkgs/applications/networking/browsers/brave/default.nix +++ b/pkgs/applications/networking/browsers/brave/default.nix @@ -75,10 +75,11 @@ let rpath = lib.makeLibraryPath [ in stdenv.mkDerivation rec { pname = "brave"; version = "0.56.12"; + version = "0.56.15"; src = fetchurl { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - sha256 = "1pvablwchpsm1fdhfp9kr2912yv4812r8prv5fn799qpflzxvyai"; + sha256 = "1d18fgnxcgl95bhkgfqjyv4p81q6fciqibd3ss4vwh1ljjy1fv76"; }; dontConfigure = true; diff --git a/pkgs/applications/networking/browsers/lynx/default.nix b/pkgs/applications/networking/browsers/lynx/default.nix index 6097c0e95f0d..cb44e79839b0 100644 --- a/pkgs/applications/networking/browsers/lynx/default.nix +++ b/pkgs/applications/networking/browsers/lynx/default.nix @@ -8,14 +8,14 @@ assert sslSupport -> openssl != null; stdenv.mkDerivation rec { name = "lynx-${version}"; - version = "2.8.9dev.17"; + version = "2.8.9rel.1"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/lynx/tarballs/lynx${version}.tar.bz2" "https://invisible-mirror.net/archives/lynx/tarballs/lynx${version}.tar.bz2" ]; - sha256 = "1lvfsnrw5mmwrmn1m76q9mx287xwm3h5lg8sv7bcqilc0ywi2f54"; + sha256 = "15cmyyma2kz1hfaa6mwjgli8zwdzq3jv0q2cl6nwzycjfwyijzrq"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix index 33172b9af701..89dd6775719a 100644 --- a/pkgs/applications/networking/browsers/vivaldi/default.nix +++ b/pkgs/applications/networking/browsers/vivaldi/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { name = "${product}-${version}"; product = "vivaldi"; - version = "2.1.1337.47-1"; + version = "2.1.1337.51-1"; src = fetchurl { url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb"; - sha256 = "0i4dd5fgipplfq9jylm23jc9vn0qzf03ph1v85qh252hw5fgnyj2"; + sha256 = "08x6abyz65vx4ycj8ys8sib9z1adb8ybmnrqjck69b30kbz78rj2"; }; unpackPhase = '' diff --git a/pkgs/applications/networking/cluster/kubetail/default.nix b/pkgs/applications/networking/cluster/kubetail/default.nix index 38892cdf0396..b2cf486b6123 100644 --- a/pkgs/applications/networking/cluster/kubetail/default.nix +++ b/pkgs/applications/networking/cluster/kubetail/default.nix @@ -12,7 +12,10 @@ stdenv.mkDerivation rec { }; installPhase = '' - install -Dm755 kubetail $out/bin/kubetail + install -Dm755 kubetail "$out/bin/kubetail" + install -Dm755 completion/kubetail.bash "$out/share/bash-completion/completions/kubetail" + install -Dm755 completion/kubetail.fish "$out/share/fish/vendor_completions.d/kubetail.fish" + install -Dm755 completion/kubetail.zsh "$out/share/zsh/site-functions/_kubetail" ''; meta = with lib; { diff --git a/pkgs/applications/networking/cluster/stern/default.nix b/pkgs/applications/networking/cluster/stern/default.nix index c5e4ac9d0ba3..bb0f3229ea5e 100644 --- a/pkgs/applications/networking/cluster/stern/default.nix +++ b/pkgs/applications/networking/cluster/stern/default.nix @@ -1,4 +1,6 @@ -{ lib, buildGoPackage, fetchFromGitHub }: +{ stdenv, lib, buildPackages, buildGoPackage, fetchFromGitHub }: + +let isCrossBuild = stdenv.hostPlatform != stdenv.buildPlatform; in buildGoPackage rec { name = "stern-${version}"; @@ -15,11 +17,20 @@ buildGoPackage rec { goDeps = ./deps.nix; - meta = with lib; { - description = "Multi pod and container log tailing for Kubernetes"; - homepage = "https://github.com/wercker/stern"; - license = licenses.asl20; - maintainers = with maintainers; [ mbode ]; - platforms = platforms.unix; - }; + postInstall = + let stern = if isCrossBuild then buildPackages.stern else "$bin"; in + '' + mkdir -p $bin/share/bash-completion/completions + ${stern}/bin/stern --completion bash > $bin/share/bash-completion/completions/stern + mkdir -p $bin/share/zsh/site-functions + ${stern}/bin/stern --completion zsh > $bin/share/zsh/site-functions/_stern + ''; + + meta = with lib; { + description = "Multi pod and container log tailing for Kubernetes"; + homepage = "https://github.com/wercker/stern"; + license = licenses.asl20; + maintainers = with maintainers; [ mbode ]; + platforms = platforms.unix; + }; } diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix index 7fe68163ab96..2c5d7005ef8c 100644 --- a/pkgs/applications/networking/instant-messengers/dino/default.nix +++ b/pkgs/applications/networking/instant-messengers/dino/default.nix @@ -10,16 +10,17 @@ , dbus , gpgme , pcre +, qrencode }: stdenv.mkDerivation rec { - name = "dino-unstable-2018-09-21"; + name = "dino-unstable-2018-11-27"; src = fetchFromGitHub { owner = "dino"; repo = "dino"; - rev = "6b7ef800f54e781a618425236ba8d4ed2f2fef9c"; - sha256 = "1si815b6y06lridj88hws0dgq54w9jfam9sqbrq3cfcvmhc38ysk"; + rev = "141db9e40a3a81cfa3ad3587dc47f69c541d0fde"; + sha256 = "006r1x7drlz39jjxlfdnxgrnambw9amhl9jcgf6p1dx71h1x8221"; fetchSubmodules = true; }; @@ -32,6 +33,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + qrencode gobjectIntrospection glib-networking glib diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index d9b86b31bf2b..2f7f3c5836af 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -56,11 +56,11 @@ let in stdenv.mkDerivation rec { name = "signal-desktop-${version}"; - version = "1.18.0"; + version = "1.18.1"; src = fetchurl { url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - sha256 = "0l5q55k5dp7hbvw3dnjsz39blbsahx6nh9ln4c69752zg473yv4v"; + sha256 = "1gak6nhv5gk37iv1bfmjx6wf0p1vcln5y29i6fkzmvcrp3j2cmfh"; }; phases = [ "unpackPhase" "installPhase" ]; diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix index f2c097a43752..cb0b8c8f5b79 100644 --- a/pkgs/applications/networking/mailreaders/mutt/default.nix +++ b/pkgs/applications/networking/mailreaders/mutt/default.nix @@ -35,8 +35,8 @@ stdenv.mkDerivation rec { }; patches = optional smimeSupport (fetchpatch { - url = "https://sources.debian.net/src/mutt/1.7.2-1/debian/patches/misc/smime.rc.patch"; - sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73"; + url = "https://salsa.debian.org/mutt-team/mutt/raw/debian/1.10.1-2/debian/patches/misc/smime.rc.patch"; + sha256 = "1rl27qqwl4nw321ll5jcvfmkmz4fkvcsh5vihjcrhzzyf6vz8wmj"; }); buildInputs = diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix index f082c241a64c..a8c322b42b83 100644 --- a/pkgs/applications/networking/mailreaders/neomutt/default.nix +++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix @@ -1,6 +1,7 @@ { stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript , ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl -, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mime-types }: +, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap +}: let muttWrapper = writeScript "mutt" '' @@ -28,7 +29,7 @@ in stdenv.mkDerivation rec { buildInputs = [ cyrus_sasl gss gpgme kerberos libidn ncurses notmuch openssl perl lmdb - mime-types + mailcap ]; nativeBuildInputs = [ @@ -47,10 +48,11 @@ in stdenv.mkDerivation rec { --replace http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd ${docbook_xml_dtd_42}/xml/dtd/docbook/docbookx.dtd done + # allow neomutt to map attachments to their proper mime.types if specified wrongly # and use a far more comprehensive list than the one shipped with neomutt substituteInPlace sendlib.c \ - --replace /etc/mime.types ${mime-types}/etc/mime.types + --replace /etc/mime.types ${mailcap}/etc/mime.types # The string conversion tests all fail with the first version of neomutt # that has tests (20180223) as well as 20180716 so we disable them for now. diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix index 34712a522feb..af01b89dc764 100644 --- a/pkgs/applications/networking/sync/rclone/default.nix +++ b/pkgs/applications/networking/sync/rclone/default.nix @@ -2,15 +2,16 @@ buildGoPackage rec { name = "rclone-${version}"; - version = "1.44"; + version = "1.45"; goPackagePath = "github.com/ncw/rclone"; + subPackages = [ "." ]; src = fetchFromGitHub { owner = "ncw"; repo = "rclone"; rev = "v${version}"; - sha256 = "0kpx9r4kksscsvia7r79z9h8ghph25ay9dgpqrnp599fq1bqky61"; + sha256 = "06xg0ibv9pnrnmabh1kblvxx1pk8h5rmkr9mjbymv497sx3zgz26"; }; outputs = [ "bin" "out" "man" ]; diff --git a/pkgs/applications/office/marp/default.nix b/pkgs/applications/office/marp/default.nix index 6ff0cf1dfd05..cdda46d4837f 100644 --- a/pkgs/applications/office/marp/default.nix +++ b/pkgs/applications/office/marp/default.nix @@ -1,24 +1,29 @@ -{ stdenv, fetchurl, atomEnv, libXScrnSaver }: +{ stdenv, fetchurl, atomEnv, libXScrnSaver, gtk2 }: stdenv.mkDerivation rec { name = "marp-${version}"; - version = "0.0.13"; + version = "0.0.14"; src = fetchurl { url = "https://github.com/yhatt/marp/releases/download/v${version}/${version}-Marp-linux-x64.tar.gz"; - sha256 = "1120mbw4mf7v4qfmss3121gkgp5pn31alk9cssxbrmdcsdkaq5ld"; + sha256 = "0nklzxwdx5llzfwz1hl2jpp2kwz78w4y63h5l00fh6fv6zisw6j4"; }; - sourceRoot = "."; + + unpackPhase = '' + mkdir {locales,resources} + tar --delay-directory-restore -xf $src + chmod u+x {locales,resources} + ''; installPhase = '' - mkdir -p $out/lib/marp $out/bin - cp -r ./* $out/lib/marp - ln -s $out/lib/marp/Marp $out/bin + mkdir -p $out/lib/marp $out/bin + cp -r ./* $out/lib/marp + ln -s $out/lib/marp/Marp $out/bin ''; postFixup = '' patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${atomEnv.libPath}:${stdenv.lib.makeLibraryPath [ libXScrnSaver ]}:$out/lib/marp" \ + --set-rpath "${atomEnv.libPath}:${stdenv.lib.makeLibraryPath [ libXScrnSaver gtk2 ]}:$out/lib/marp" \ $out/bin/Marp ''; diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix index e825d1e8454f..9c7de486573a 100644 --- a/pkgs/applications/science/biology/picard-tools/default.nix +++ b/pkgs/applications/science/biology/picard-tools/default.nix @@ -2,14 +2,15 @@ stdenv.mkDerivation rec { name = "picard-tools-${version}"; - version = "2.18.14"; + version = "2.18.17"; src = fetchurl { url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar"; - sha256 = "0xc5mqifav2j4zbln04q07wjlzpwp3w0y5iv5bkp4v5486cp2ha9"; + sha256 = "0ks7ymrjfya5h77hp0bqyipzdri0kf97c8wks32nvwkj821687zm"; }; - buildInputs = [ jre makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ jre ]; phases = [ "installPhase" ]; @@ -21,7 +22,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "Tools for high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF."; + description = "Tools for high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF"; license = licenses.mit; homepage = https://broadinstitute.github.io/picard/; maintainers = with maintainers; [ jbedo ]; diff --git a/pkgs/applications/science/electronics/librepcb/default.nix b/pkgs/applications/science/electronics/librepcb/default.nix index c0831847b720..bc6e5e33ea24 100644 --- a/pkgs/applications/science/electronics/librepcb/default.nix +++ b/pkgs/applications/science/electronics/librepcb/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { name = "librepcb-${version}"; - version = "20181031"; + version = "0.1.0"; src = fetchFromGitHub { owner = "LibrePCB"; repo = "LibrePCB"; fetchSubmodules = true; - rev = "3cf8dba9fa88e5b392d639c9fdbcf3a44664170a"; - sha256 = "0kr4mii5w3kj3kqvhgq7zjxjrq44scx8ky0x77gyqmwvwfwk7nmx"; + rev = "d7458d3b3e126499902e1a66a0ef889f516a7c97"; + sha256 = "19wh0398fzzpd65nh4mmc4jllkrgcrwxvxdby0gb5wh1sqyaqac4"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix index 29fc94a71dac..28a7e783ff3f 100644 --- a/pkgs/applications/science/logic/z3/default.nix +++ b/pkgs/applications/science/logic/z3/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "z3-${version}"; - version = "4.8.1"; + version = "4.8.3"; src = fetchFromGitHub { owner = "Z3Prover"; repo = "z3"; rev = name; - sha256 = "1vr57bwx40sd5riijyrhy70i2wnv9xrdihf6y5zdz56yq88rl48f"; + sha256 = "0p5gdmhd32x6zwmx7j5cgwh4jyfxa9yapym95nlmyfaqzak92qar"; }; buildInputs = [ python fixDarwinDylibNames ]; diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index 832b2f110565..46e60a2b81e4 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -129,6 +129,7 @@ let # https://trac.sagemath.org/ticket/25674 R = pkgs.R.overrideAttrs (attrs: rec { name = "R-3.4.4"; + doCheck = false; src = fetchurl { url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz"; sha256 = "0dq3jsnwsb5j3fhl0wi3p5ycv8avf8s5j1y4ap3d2mkjmcppvsdk"; diff --git a/pkgs/applications/science/math/sage/sage-tests.nix b/pkgs/applications/science/math/sage/sage-tests.nix index feccf75a7acb..1f400db18fcb 100644 --- a/pkgs/applications/science/math/sage/sage-tests.nix +++ b/pkgs/applications/science/math/sage/sage-tests.nix @@ -46,6 +46,6 @@ stdenv.mkDerivation rec { mkdir -p "$HOME" # "--long" tests are in the order of 1h, without "--long" its 1/2h - "sage" -t --nthreads "$NIX_BUILD_CORES" --optional=sage ${patienceSpecifier} ${testArgs} + "sage" -t --timeout=0 --nthreads "$NIX_BUILD_CORES" --optional=sage ${patienceSpecifier} ${testArgs} ''; } diff --git a/pkgs/applications/science/physics/quantomatic/default.nix b/pkgs/applications/science/physics/quantomatic/default.nix new file mode 100644 index 000000000000..ad86ff61471c --- /dev/null +++ b/pkgs/applications/science/physics/quantomatic/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, jre, makeWrapper }: + +stdenv.mkDerivation rec { + name = "quantomatic-${version}"; + version = "0.7"; + + src = fetchurl { + url = "https://github.com/Quantomatic/quantomatic/releases/download/v${version}/Quantomatic-v${version}.jar"; + sha256 = "04dd5p73a7plb4l4x2balam8j7mxs8df06rjkalxycrr1id52q4r"; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ jre ]; + + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p $out/libexec/quantomatic + cp $src $out/libexec/quantomatic/quantomatic.jar + mkdir -p $out/bin + makeWrapper ${jre}/bin/java $out/bin/quantomatic --add-flags "-jar $out/libexec/quantomatic/quantomatic.jar" + ''; + + meta = with stdenv.lib; { + description = "A piece of software for reasoning about monoidal theories; in particular, quantum information processing"; + license = licenses.gpl3; + homepage = https://quantomatic.github.io/; + maintainers = with maintainers; [ nickhu ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index c99ae18ff527..21cdd87ddcf7 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -94,6 +94,8 @@ let git-remote-hg = callPackage ./git-remote-hg { }; + git-reparent = callPackage ./git-reparent { }; + git-secret = callPackage ./git-secret { }; git-secrets = callPackage ./git-secrets { }; diff --git a/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix b/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix new file mode 100644 index 000000000000..03435ec834ab --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, makeWrapper, git, gnused }: + +stdenv.mkDerivation rec { + name = "git-reparent-${version}"; + version = "unstable-2017-09-03"; + + src = fetchFromGitHub { + owner = "MarkLodato"; + repo = "git-reparent"; + rev = "a99554a32524a86421659d0f61af2a6c784b7715"; + sha256 = "0v0yxydpw6r4awy0hb7sbnh520zsk86ibzh1xjf3983yhsvkfk5v"; + }; + + buildInputs = [ makeWrapper ]; + + dontBuild = true; + + installPhase = '' + install -m755 -Dt $out/bin git-reparent + ''; + + postFixup = '' + wrapProgram $out/bin/git-reparent --prefix PATH : "${stdenv.lib.makeBinPath [ git gnused ]}" + ''; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "Git command to recommit HEAD with a new set of parents"; + maintainers = [ maintainers.marsam ]; + license = licenses.gpl2; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch deleted file mode 100644 index 38181399eec8..000000000000 --- a/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/go/internal/config/config.go b/go/internal/config/config.go -index c57b4de..88cfc95 100644 ---- a/go/internal/config/config.go -+++ b/go/internal/config/config.go -@@ -27,7 +27,7 @@ func New() (*Config, error) { - } - cfg.RootDir = dir - -- configBytes, err := ioutil.ReadFile(path.Join(cfg.RootDir, configFile)) -+ configBytes, err := ioutil.ReadFile("/run/gitlab/shell-config.yml") - if err != nil { - return nil, err - } -diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb -index 1452f95..2b40327 100644 ---- a/lib/gitlab_shell.rb -+++ b/lib/gitlab_shell.rb -@@ -180,7 +180,8 @@ class GitlabShell - end - - # We use 'chdir: ROOT_PATH' to let the next executable know where config.yml is. -- Kernel.exec(env, *args, unsetenv_others: true, chdir: ROOT_PATH) -+ # Except we don't, because we're already in the right directory on nixos! -+ Kernel.exec(env, *args, unsetenv_others: true) - end - - def api diff --git a/pkgs/applications/version-management/gitlab-workhorse/deterministic-build.patch b/pkgs/applications/version-management/gitlab-workhorse/deterministic-build.patch deleted file mode 100644 index da6dc5493ac5..000000000000 --- a/pkgs/applications/version-management/gitlab-workhorse/deterministic-build.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Makefile 2018-10-08 12:45:15.206269937 +0200 -+++ b/Makefile 2018-10-08 12:45:24.435366307 +0200 -@@ -6,7 +6,7 @@ - BIN_BUILD_DIR := $(TARGET_DIR)/bin - PKG_BUILD_DIR := $(TARGET_DIR)/src/$(PKG) - COVERAGE_DIR := $(TARGET_DIR)/cover --VERSION := $(shell git describe)-$(shell date -u +%Y%m%d.%H%M%S) -+VERSION := 6.1.1 - GOBUILD := go build -ldflags "-X main.Version=$(VERSION)" - EXE_ALL := gitlab-zip-cat gitlab-zip-metadata gitlab-workhorse - INSTALL := install diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json new file mode 100644 index 000000000000..e2be6fb2a908 --- /dev/null +++ b/pkgs/applications/version-management/gitlab/data.json @@ -0,0 +1,32 @@ +{ + "ce": { + "version": "11.5.0", + "repo_hash": "0cjkkap3n9g9zahrxk99a330ahyb6cvx97dsnrxcdsn0cbrsxsrb", + "deb_hash": "0kn7mg1lk4gvc3x76z4rbh0j03b0wk6x1p5938wx8sc50k0bgrcp", + "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_11.5.0-ce.0_amd64.deb/download.deb", + "owner": "gitlab-org", + "repo": "gitlab-ce", + "rev": "v11.5.0", + "passthru": { + "GITALY_SERVER_VERSION": "0.129.0", + "GITLAB_PAGES_VERSION": "1.3.0", + "GITLAB_SHELL_VERSION": "8.4.1", + "GITLAB_WORKHORSE_VERSION": "7.1.0" + } + }, + "ee": { + "version": "11.5.0", + "repo_hash": "1s2jr7vhbpklpcfjxgxnmq0zq14hh2aa6akdsb7ld7fj5lmzp00z", + "deb_hash": "108mgmlf947h200qrwg71ilhq5ihr4awxns6lqs2wa90ph9yq25c", + "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_11.5.0-ee.0_amd64.deb/download.deb", + "owner": "gitlab-org", + "repo": "gitlab-ee", + "rev": "v11.5.0-ee", + "passthru": { + "GITALY_SERVER_VERSION": "0.129.0", + "GITLAB_PAGES_VERSION": "1.3.0", + "GITLAB_SHELL_VERSION": "8.4.1", + "GITLAB_WORKHORSE_VERSION": "7.1.0" + } + } +} \ No newline at end of file diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix index c1c4d20feacb..2ffe1141b5a0 100644 --- a/pkgs/applications/version-management/gitlab/default.nix +++ b/pkgs/applications/version-management/gitlab/default.nix @@ -11,32 +11,22 @@ let groups = [ "default" "unicorn" "ed25519" "metrics" ]; }; - version = "11.4.4"; + flavour = if gitlabEnterprise then "ee" else "ce"; + data = (builtins.fromJSON (builtins.readFile ./data.json)).${flavour}; - sources = if gitlabEnterprise then { - gitlabDeb = fetchurl { - url = "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_${version}-ee.0_amd64.deb/download.deb"; - sha256 = "15lpcdjcw6lpmzlhqnpd6pgaxh7wvx2mldjd1vqr414r4bcnhgy4"; - }; + version = data.version; + sources = { gitlab = fetchFromGitLab { - owner = "gitlab-org"; - repo = "gitlab-ee"; - rev = "v${version}-ee"; - sha256 = "046hchr7q4jnx3j4yxg3rdixfzlva35al3ci26pf9vxrbbl5y8cg"; + owner = data.owner; + repo = data.repo; + rev = data.rev; + sha256 = data.repo_hash; }; - } else { gitlabDeb = fetchurl { - url = "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_${version}-ce.0_amd64.deb/download.deb"; - sha256 = "02p7azyjgb984bk491q6f4zk1mikbcd38rif08kl07bjjzzkir81"; - }; - gitlab = fetchFromGitLab { - owner = "gitlab-org"; - repo = "gitlab-ce"; - rev = "v${version}"; - sha256 = "1hq9iyp0xrxwmncn61ja3pdj9h2hmdy1l63d1ic3r1dyacybaf2g"; + url = data.deb_url; + sha256 = data.deb_hash; }; }; - in stdenv.mkDerivation rec { @@ -101,6 +91,10 @@ stdenv.mkDerivation rec { passthru = { inherit rubyEnv; ruby = rubyEnv.wrappedRuby; + GITALY_SERVER_VERSION = data.passthru.GITALY_SERVER_VERSION; + GITLAB_PAGES_VERSION = data.passthru.GITLAB_PAGES_VERSION; + GITLAB_SHELL_VERSION = data.passthru.GITLAB_SHELL_VERSION; + GITLAB_WORKHORSE_VERSION = data.passthru.GITLAB_WORKHORSE_VERSION; }; meta = with lib; { diff --git a/pkgs/applications/version-management/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile index 2b752992fecd..016f80284da9 100644 --- a/pkgs/applications/version-management/gitaly/Gemfile +++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile @@ -1,14 +1,17 @@ source 'https://rubygems.org' -gem 'rugged', '~> 0.27.4' +# Require bundler >= 1.16.5 to avoid this bug: https://github.com/bundler/bundler/issues/6537 +gem 'bundler', '>= 1.16.5' + +gem 'rugged', '~> 0.27' gem 'github-linguist', '~> 6.1', require: 'linguist' gem 'gitlab-markup', '~> 1.6.4' -gem 'gitaly-proto', '~> 0.116.0', require: 'gitaly' +gem 'gitaly-proto', '~> 0.123.0', require: 'gitaly' gem 'activesupport', '~> 5.0.2' gem 'rdoc', '~> 4.2' gem 'gitlab-gollum-lib', '~> 4.2', require: false gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4', require: false -gem 'grpc', '~> 1.11.0' +gem 'grpc', '~> 1.15.0' gem 'sentry-raven', '~> 2.7.2', require: false gem 'faraday', '~> 0.12' @@ -16,10 +19,12 @@ gem 'faraday', '~> 0.12' # This version needs to be in sync with GitLab CE/EE gem 'licensee', '~> 8.9.0' -# Locked until https://github.com/google/protobuf/issues/4210 is closed -gem 'google-protobuf', '= 3.5.1' +gem 'google-protobuf', '~> 3.6' group :development, :test do - gem 'gitlab-styles', '~> 2.0.0', require: false + gem 'rubocop', '~> 0.50', require: false gem 'rspec', require: false + gem 'rspec-parameterized', require: false + gem 'timecop', require: false + gem 'factory_bot', require: false end diff --git a/pkgs/applications/version-management/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock index d76ba86c398a..0340853524b0 100644 --- a/pkgs/applications/version-management/gitaly/Gemfile.lock +++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock @@ -1,26 +1,37 @@ GEM remote: https://rubygems.org/ specs: + abstract_type (0.0.7) activesupport (5.0.6) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (~> 0.7) minitest (~> 5.1) tzinfo (~> 1.1) - addressable (2.5.2) - public_suffix (>= 2.0.2, < 4.0) - ast (2.3.0) + adamantium (0.2.0) + ice_nine (~> 0.11.0) + memoizable (~> 0.4.0) + ast (2.4.0) + binding_of_caller (0.8.0) + debug_inspector (>= 0.0.1) charlock_holmes (0.7.6) + coderay (1.1.2) + concord (0.1.5) + adamantium (~> 0.2.0) + equalizer (~> 0.0.9) concurrent-ruby (1.0.5) crass (1.0.4) + debug_inspector (0.0.3) diff-lcs (1.3) + equalizer (0.0.11) escape_utils (1.2.1) - faraday (0.12.2) + factory_bot (4.11.1) + activesupport (>= 3.0.0) + faraday (0.15.3) multipart-post (>= 1.2, < 3) gemojione (3.3.0) json - gitaly-proto (0.116.0) - google-protobuf (~> 3.1) - grpc (~> 1.10) + gitaly-proto (0.123.0) + grpc (~> 1.0) github-linguist (6.2.0) charlock_holmes (~> 0.7.6) escape_utils (~> 1.2.0) @@ -44,60 +55,44 @@ GEM mime-types (>= 1.16) posix-spawn (~> 0.3) gitlab-markup (1.6.4) - gitlab-styles (2.0.0) - rubocop (~> 0.49) - rubocop-gitlab-security (~> 0.1.0) - rubocop-rspec (~> 1.15) gollum-grit_adapter (1.0.1) gitlab-grit (~> 2.7, >= 2.7.1) - google-protobuf (3.5.1) - googleapis-common-protos-types (1.0.1) + google-protobuf (3.6.1) + googleapis-common-protos-types (1.0.2) google-protobuf (~> 3.0) - googleauth (0.6.2) - faraday (~> 0.12) - jwt (>= 1.4, < 3.0) - logging (~> 2.0) - memoist (~> 0.12) - multi_json (~> 1.11) - os (~> 0.9) - signet (~> 0.7) - grpc (1.11.0) + grpc (1.15.0) google-protobuf (~> 3.1) googleapis-common-protos-types (~> 1.0.0) - googleauth (>= 0.5.1, < 0.7) i18n (0.8.1) + ice_nine (0.11.2) json (2.1.0) - jwt (2.1.0) licensee (8.9.2) rugged (~> 0.24) - little-plugger (1.1.4) - logging (2.2.2) - little-plugger (~> 1.1) - multi_json (~> 1.10) - memoist (0.16.0) + memoizable (0.4.2) + thread_safe (~> 0.3, >= 0.3.1) mime-types (3.2.2) mime-types-data (~> 3.2015) mime-types-data (3.2018.0812) mini_portile2 (2.3.0) minitest (5.9.1) - multi_json (1.13.1) multipart-post (2.0.0) nokogiri (1.8.4) mini_portile2 (~> 2.3.0) nokogumbo (1.5.0) nokogiri - os (0.9.6) - parallel (1.12.0) - parser (2.4.0.0) - ast (~> 2.2) + parallel (1.12.1) + parser (2.5.1.2) + ast (~> 2.4.0) posix-spawn (0.3.13) - powerpack (0.1.1) - public_suffix (3.0.2) - rainbow (2.2.2) - rake - rake (12.1.0) + powerpack (0.1.2) + proc_to_ast (0.1.0) + coderay + parser + unparser + procto (0.0.3) + rainbow (3.0.0) rdoc (4.3.0) - rouge (3.2.1) + rouge (3.3.0) rspec (3.7.0) rspec-core (~> 3.7.0) rspec-expectations (~> 3.7.0) @@ -110,56 +105,66 @@ GEM rspec-mocks (3.7.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.7.0) + rspec-parameterized (0.4.0) + binding_of_caller + parser + proc_to_ast + rspec (>= 2.13, < 4) + unparser rspec-support (3.7.1) - rubocop (0.50.0) + rubocop (0.54.0) parallel (~> 1.10) - parser (>= 2.3.3.1, < 3.0) + parser (>= 2.5) powerpack (~> 0.1) - rainbow (>= 2.2.2, < 3.0) + rainbow (>= 2.2.2, < 4.0) ruby-progressbar (~> 1.7) unicode-display_width (~> 1.0, >= 1.0.1) - rubocop-gitlab-security (0.1.0) - rubocop (>= 0.47.1) - rubocop-rspec (1.17.0) - rubocop (>= 0.50.0) - ruby-progressbar (1.8.3) - rugged (0.27.4) + ruby-progressbar (1.10.0) + rugged (0.27.5) sanitize (4.6.6) crass (~> 1.0.2) nokogiri (>= 1.4.4) nokogumbo (~> 1.4) sentry-raven (2.7.2) faraday (>= 0.7.6, < 1.0) - signet (0.8.1) - addressable (~> 2.3) - faraday (~> 0.9) - jwt (>= 1.5, < 3.0) - multi_json (~> 1.10) stringex (2.8.4) thread_safe (0.3.6) + timecop (0.9.1) tzinfo (1.2.2) thread_safe (~> 0.1) - unicode-display_width (1.3.0) + unicode-display_width (1.4.0) + unparser (0.2.8) + abstract_type (~> 0.0.7) + adamantium (~> 0.2.0) + concord (~> 0.1.5) + diff-lcs (~> 1.3) + equalizer (~> 0.0.9) + parser (>= 2.3.1.2, < 2.6) + procto (~> 0.0.2) PLATFORMS ruby DEPENDENCIES activesupport (~> 5.0.2) + bundler (>= 1.16.5) + factory_bot faraday (~> 0.12) - gitaly-proto (~> 0.116.0) + gitaly-proto (~> 0.123.0) github-linguist (~> 6.1) gitlab-gollum-lib (~> 4.2) gitlab-gollum-rugged_adapter (~> 0.4.4) gitlab-markup (~> 1.6.4) - gitlab-styles (~> 2.0.0) - google-protobuf (= 3.5.1) - grpc (~> 1.11.0) + google-protobuf (~> 3.6) + grpc (~> 1.15.0) licensee (~> 8.9.0) rdoc (~> 4.2) rspec - rugged (~> 0.27.4) + rspec-parameterized + rubocop (~> 0.50) + rugged (~> 0.27) sentry-raven (~> 2.7.2) + timecop BUNDLED WITH - 1.16.4 + 1.17.1 diff --git a/pkgs/applications/version-management/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix index 88bd0b9f10db..951dbf0bf25a 100644 --- a/pkgs/applications/version-management/gitaly/default.nix +++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix @@ -7,14 +7,14 @@ let gemdir = ./.; }; in buildGoPackage rec { - version = "0.125.1"; + version = "0.129.0"; name = "gitaly-${version}"; src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitaly"; rev = "v${version}"; - sha256 = "0vbxjqjs1r5c350r67812andasby5zk25xlaqp201lmlvamiv0ni"; + sha256 = "0lidqa0w0vy87p5xfmqrfvbyzvl9wj2p918qs2f5rc7shzm38rn6"; }; goPackagePath = "gitlab.com/gitlab-org/gitaly"; diff --git a/pkgs/applications/version-management/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix index 0717555b3829..9bf5601bf634 100644 --- a/pkgs/applications/version-management/gitaly/gemset.nix +++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix @@ -1,4 +1,12 @@ { + abstract_type = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09330cmhrc2wmfhdj9zzg82sv6cdhm3qgdkva5ni5xfjril2pf14"; + type = "gem"; + }; + version = "0.0.7"; + }; activesupport = { dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; source = { @@ -8,22 +16,31 @@ }; version = "5.0.6"; }; - addressable = { - dependencies = ["public_suffix"]; + adamantium = { + dependencies = ["ice_nine" "memoizable"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; + sha256 = "0165r2ikgfwv2rm8dzyijkp74fvg0ni72hpdx8ay2v7cj08dqyak"; type = "gem"; }; - version = "2.5.2"; + version = "0.2.0"; }; ast = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0pp82blr5fakdk27d1d21xq9zchzb6vmyb1zcsl520s3ygvprn8m"; + sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7"; type = "gem"; }; - version = "2.3.0"; + version = "2.4.0"; + }; + binding_of_caller = { + dependencies = ["debug_inspector"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g"; + type = "gem"; + }; + version = "0.8.0"; }; charlock_holmes = { source = { @@ -33,6 +50,23 @@ }; version = "0.7.6"; }; + coderay = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; + type = "gem"; + }; + version = "1.1.2"; + }; + concord = { + dependencies = ["adamantium" "equalizer"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b6cdn0fg4n9gzbdr7zyf4jq40y6h0c0g9cra7wk9hhmsylk91bg"; + type = "gem"; + }; + version = "0.1.5"; + }; concurrent-ruby = { source = { remotes = ["https://rubygems.org"]; @@ -49,6 +83,14 @@ }; version = "1.0.4"; }; + debug_inspector = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0"; + type = "gem"; + }; + version = "0.0.3"; + }; diff-lcs = { source = { remotes = ["https://rubygems.org"]; @@ -57,6 +99,14 @@ }; version = "1.3"; }; + equalizer = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; + type = "gem"; + }; + version = "0.0.11"; + }; escape_utils = { source = { remotes = ["https://rubygems.org"]; @@ -65,14 +115,23 @@ }; version = "1.2.1"; }; + factory_bot = { + dependencies = ["activesupport"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13q1b7imb591068plg4ashgsqgzarvfjz6xxn3jk6klzikz5zhg1"; + type = "gem"; + }; + version = "4.11.1"; + }; faraday = { dependencies = ["multipart-post"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "157c4cmb5g1b3ny6k9qf9z57rfijl54fcq3hnqqf6g31g1m096b2"; + sha256 = "16hwxc8v0z6gkanckjhx0ffgqmzpc4ywz4dfhxpjlz2mbz8d5m52"; type = "gem"; }; - version = "0.12.2"; + version = "0.15.3"; }; gemojione = { dependencies = ["json"]; @@ -84,13 +143,13 @@ version = "3.3.0"; }; gitaly-proto = { - dependencies = ["google-protobuf" "grpc"]; + dependencies = ["grpc"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "15946776v5v8c2jisknjm82s4q3b3q9x2xygjf4bkk4m45n766w1"; + sha256 = "16b9sdaimhcda401z2s7apf0nz6y0lxs74xhkwlz4jzf6ms44mgg"; type = "gem"; }; - version = "0.116.0"; + version = "0.123.0"; }; github-linguist = { dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"]; @@ -144,15 +203,6 @@ }; version = "1.6.4"; }; - gitlab-styles = { - dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-rspec"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1k8xrkjx8rcny8p0gsp18wskvn1qbw4rfgdp1f6x0p4xp6dlhjf4"; - type = "gem"; - }; - version = "2.0.0"; - }; gollum-grit_adapter = { dependencies = ["gitlab-grit"]; source = { @@ -165,37 +215,28 @@ google-protobuf = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0s8ijd9wdrkqwsb6nasrsv7f9i5im2nyax7f7jlb5y9vh8nl98qi"; + sha256 = "134d3ini9ymdwxpz445m28ss9x0m6vcpijcdkzvgk4n538wdmppf"; type = "gem"; }; - version = "3.5.1"; + version = "3.6.1"; }; googleapis-common-protos-types = { dependencies = ["google-protobuf"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yf10s7w8wpa49hc86z7z2fkn9yz7j2njz0n8xmqb24ji090z4ck"; + sha256 = "01ds7g01pxqm3mg283xjzy0lhhvvhvzw3m7gf7szd1r7la4wf0qq"; type = "gem"; }; - version = "1.0.1"; - }; - googleauth = { - dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "08z4zfj9cwry13y8c2w5p4xylyslxxjq4wahd95bk1ddl5pknd4f"; - type = "gem"; - }; - version = "0.6.2"; + version = "1.0.2"; }; grpc = { - dependencies = ["google-protobuf" "googleapis-common-protos-types" "googleauth"]; + dependencies = ["google-protobuf" "googleapis-common-protos-types"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1is4czi3i7y6zyxzyrpsma1z91axmc0jz2ngr6ckixqd3629npkz"; + sha256 = "0m2wspnm1cfkmhlbp7yqv5bb4vsfh246cm0aavxra67aw4l8plhb"; type = "gem"; }; - version = "1.11.0"; + version = "1.15.0"; }; i18n = { source = { @@ -205,18 +246,18 @@ }; version = "0.8.1"; }; - json = { + ice_nine = { source = { remotes = ["https://rubygems.org"]; - sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; + sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x"; type = "gem"; }; - version = "2.1.0"; + version = "0.11.2"; }; - jwt = { + json = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky"; + sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; type = "gem"; }; version = "2.1.0"; @@ -230,30 +271,14 @@ }; version = "8.9.2"; }; - little-plugger = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; - type = "gem"; - }; - version = "1.1.4"; - }; - logging = { - dependencies = ["little-plugger" "multi_json"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn"; - type = "gem"; - }; - version = "2.2.2"; - }; - memoist = { + memoizable = { + dependencies = ["thread_safe"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pq8fhqh8w25qcw9v3vzfb0i6jp0k3949ahxc3wrwz2791dpbgbh"; + sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"; type = "gem"; }; - version = "0.16.0"; + version = "0.4.2"; }; mime-types = { dependencies = ["mime-types-data"]; @@ -288,14 +313,6 @@ }; version = "5.9.1"; }; - multi_json = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; - type = "gem"; - }; - version = "1.13.1"; - }; multipart-post = { source = { remotes = ["https://rubygems.org"]; @@ -322,30 +339,22 @@ }; version = "1.5.0"; }; - os = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1llv8w3g2jwggdxr5a5cjkrnbbfnvai3vxacxxc0fy84xmz3hymz"; - type = "gem"; - }; - version = "0.9.6"; - }; parallel = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0qv2yj4sxr36ga6xdxvbq9h05hn10bwcbkqv6j6q1fiixhsdnnzd"; + sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67"; type = "gem"; }; - version = "1.12.0"; + version = "1.12.1"; }; parser = { dependencies = ["ast"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "130rfk8a2ws2fyq52hmi1n0xakylw39wv4x1qhai4z17x2b0k9cq"; + sha256 = "1zp89zg7iypncszxsjp8kiccrpbdf728jl449g6cnfkz990fyb5k"; type = "gem"; }; - version = "2.4.0.0"; + version = "2.5.1.2"; }; posix-spawn = { source = { @@ -358,35 +367,35 @@ powerpack = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1fnn3fli5wkzyjl4ryh0k90316shqjfnhydmc7f8lqpi0q21va43"; + sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv"; type = "gem"; }; - version = "0.1.1"; + version = "0.1.2"; }; - public_suffix = { + proc_to_ast = { + dependencies = ["coderay" "parser" "unparser"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1x5h1dh1i3gwc01jbg01rly2g6a1qwhynb1s8a30ic507z1nh09s"; + sha256 = "14c65w48bbzp5lh1cngqd1y25kqvfnq1iy49hlzshl12dsk3z9wj"; type = "gem"; }; - version = "3.0.2"; + version = "0.1.0"; }; - rainbow = { - dependencies = ["rake"]; + procto = { source = { remotes = ["https://rubygems.org"]; - sha256 = "08w2ghc5nv0kcq5b257h7dwjzjz1pqcavajfdx2xjyxqsvh2y34w"; + sha256 = "13imvg1x50rz3r0yyfbhxwv72lbf7q28qx9l9nfbb91h2n9ch58c"; type = "gem"; }; - version = "2.2.2"; + version = "0.0.3"; }; - rake = { + rainbow = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0mfqgpp3m69s5v1rd51lfh5qpjwyia5p4rg337pw8c8wzm6pgfsw"; + sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk"; type = "gem"; }; - version = "12.1.0"; + version = "3.0.0"; }; rdoc = { source = { @@ -399,10 +408,10 @@ rouge = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0h79gn2wmn1wix2d27lgiaimccyj8gvizrllyym500pir408x62f"; + sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql"; type = "gem"; }; - version = "3.2.1"; + version = "3.3.0"; }; rspec = { dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; @@ -440,56 +449,47 @@ }; version = "3.7.0"; }; - rspec-support = { + rspec-parameterized = { + dependencies = ["binding_of_caller" "parser" "proc_to_ast" "rspec" "unparser"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nl30xb6jmcl0awhqp6jycl01wdssblifwy921phfml70rd9flj1"; + sha256 = "0arynbr6cfjhccwc8gy2xf87nybdnncsnmfwknnh8s7d4mj730p0"; type = "gem"; }; - version = "3.7.1"; + version = "0.4.0"; }; - rubocop = { - dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1hpd7zcv4y9y750wj630abvmcjwv39dsrj1fjff60ik7gfri0xlz"; - type = "gem"; - }; - version = "0.50.0"; - }; - rubocop-gitlab-security = { - dependencies = ["rubocop"]; + rspec-support = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0aw9qmyc6xj6fi0jxp8m4apk358rd91z492ragn6jp4rghkqj5cy"; + sha256 = "1nl30xb6jmcl0awhqp6jycl01wdssblifwy921phfml70rd9flj1"; type = "gem"; }; - version = "0.1.0"; + version = "3.7.1"; }; - rubocop-rspec = { - dependencies = ["rubocop"]; + rubocop = { + dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hf48ng67yswvshmv4cyysj1rs1z3fnvlycr50jdcgwlynpyxkhs"; + sha256 = "106y99lq0fg62k3vk1w5wwb4vq16pnh4l61skc82xck627z0h8is"; type = "gem"; }; - version = "1.17.0"; + version = "0.54.0"; }; ruby-progressbar = { source = { remotes = ["https://rubygems.org"]; - sha256 = "029kv0q3kfq53rjyak4ypn7196l8z4hflfmv4p5787n78z7baiqf"; + sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk"; type = "gem"; }; - version = "1.8.3"; + version = "1.10.0"; }; rugged = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1y6k5yrfmhc1v4albbpa3xzl28vk5lric3si8ada28sp9mmk2x72"; + sha256 = "1jv4nw9hvlxp8hhhlllrfcznki82i50fp1sj65zsjllfl2bvz8x6"; type = "gem"; }; - version = "0.27.4"; + version = "0.27.5"; }; sanitize = { dependencies = ["crass" "nokogiri" "nokogumbo"]; @@ -509,15 +509,6 @@ }; version = "2.7.2"; }; - signet = { - dependencies = ["addressable" "faraday" "jwt" "multi_json"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0js81lxqirdza8gf2f6avh11fny49ygmxfi1qx7jp8l9wrhznbkv"; - type = "gem"; - }; - version = "0.8.1"; - }; stringex = { source = { remotes = ["https://rubygems.org"]; @@ -534,6 +525,14 @@ }; version = "0.3.6"; }; + timecop = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0d7mm786180v4kzvn1f77rhfppsg5n0sq2bdx63x9nv114zm8jrp"; + type = "gem"; + }; + version = "0.9.1"; + }; tzinfo = { dependencies = ["thread_safe"]; source = { @@ -546,9 +545,18 @@ unicode-display_width = { source = { remotes = ["https://rubygems.org"]; - sha256 = "12pi0gwqdnbx1lv5136v3vyr0img9wr0kxcn4wn54ipq4y41zxq8"; + sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57"; + type = "gem"; + }; + version = "1.4.0"; + }; + unparser = { + dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rh1649846ac17av30x0b0v9l45v0x1j2y1i8m1a7xdd0v4sld0z"; type = "gem"; }; - version = "1.3.0"; + version = "0.2.8"; }; } \ No newline at end of file diff --git a/pkgs/applications/version-management/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix index 69c4b9a255e3..c9f21047e5b6 100644 --- a/pkgs/applications/version-management/gitlab-shell/default.nix +++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix @@ -1,14 +1,14 @@ { stdenv, ruby, bundler, fetchFromGitLab, go }: stdenv.mkDerivation rec { - version = "8.3.3"; + version = "8.4.1"; name = "gitlab-shell-${version}"; src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-shell"; rev = "v${version}"; - sha256 = "1qapw0yvlw1nxjik7jpbbbl3yx299sfvdx67zsd5ai7bhk1gd8xl"; + sha256 = "00jzrpdfqgrba2qi5ngc0g07p7gmip7my563hw542gg8l88d27xq"; }; buildInputs = [ ruby bundler go ]; diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch new file mode 100644 index 000000000000..6d29f5f9e6c5 --- /dev/null +++ b/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch @@ -0,0 +1,45 @@ +diff --git a/go/internal/config/config.go b/go/internal/config/config.go +index 435cb29..078c1df 100644 +--- a/go/internal/config/config.go ++++ b/go/internal/config/config.go +@@ -2,7 +2,6 @@ package config + + import ( + "io/ioutil" +- "os" + "path" + + yaml "gopkg.in/yaml.v2" +@@ -26,16 +25,13 @@ type Config struct { + } + + func New() (*Config, error) { +- dir, err := os.Getwd() +- if err != nil { +- return nil, err +- } ++ dir := "/run/gitlab" + + return NewFromDir(dir) + } + + func NewFromDir(dir string) (*Config, error) { +- return newFromFile(path.Join(dir, configFile)) ++ return newFromFile(path.Join(dir, "shell-config.yml")) + } + + func newFromFile(filename string) (*Config, error) { +diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb +index 57c70f5..700569b 100644 +--- a/lib/gitlab_shell.rb ++++ b/lib/gitlab_shell.rb +@@ -187,7 +187,8 @@ class GitlabShell # rubocop:disable Metrics/ClassLength + + args = [executable, gitaly_address, json_args] + # We use 'chdir: ROOT_PATH' to let the next executable know where config.yml is. +- Kernel.exec(env, *args, unsetenv_others: true, chdir: ROOT_PATH) ++ # Except we don't, because we're already in the right directory on nixos! ++ Kernel.exec(env, *args, unsetenv_others: true) + end + + def api diff --git a/pkgs/applications/version-management/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix index 3fab965bf547..e77dbc323a3c 100644 --- a/pkgs/applications/version-management/gitlab-workhorse/default.nix +++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix @@ -3,18 +3,18 @@ stdenv.mkDerivation rec { name = "gitlab-workhorse-${version}"; - version = "7.0.0"; + version = "7.1.0"; - srcs = fetchFromGitLab { + src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-workhorse"; rev = "v${version}"; - sha256 = "1mmfb7h5sbva2kv9h9cxfg7dyksxrwwikq7jwggfawqaadzwm677"; + sha256 = "1jq28z2kf58wnbv8jkwfx2bm8ki22hpm9ssdy2ymza22gq0zx00g"; }; buildInputs = [ git go ]; - patches = [ ./remove-hardcoded-paths.patch ./deterministic-build.patch ]; + patches = [ ./remove-hardcoded-paths.patch ]; makeFlags = [ "PREFIX=$(out)" "VERSION=${version}" ]; diff --git a/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch b/pkgs/applications/version-management/gitlab/gitlab-workhorse/remove-hardcoded-paths.patch index d8313ecb433a..d8313ecb433a 100644 --- a/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch +++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/remove-hardcoded-paths.patch diff --git a/pkgs/applications/version-management/gitlab/update.py b/pkgs/applications/version-management/gitlab/update.py new file mode 100755 index 000000000000..765f984fba5c --- /dev/null +++ b/pkgs/applications/version-management/gitlab/update.py @@ -0,0 +1,234 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i python3 -p bundix common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.lxml python3Packages.click python3Packages.click-log + +import click +import click_log +import os +import re +import logging +import subprocess +import json +import pathlib +from typing import Iterable + +import requests +from xml.etree import ElementTree + +logger = logging.getLogger(__name__) + + +class GitLabRepo: + def __init__(self, owner: str, repo: str): + self.owner = owner + self.repo = repo + + @property + def url(self): + return f"https://gitlab.com/{self.owner}/{self.repo}" + + @property + def tags(self) -> Iterable[str]: + r = requests.get(self.url + "/tags?format=atom", stream=True) + + tree = ElementTree.fromstring(r.content) + return sorted((e.text for e in tree.findall( + '{http://www.w3.org/2005/Atom}entry/{http://www.w3.org/2005/Atom}title')), reverse=True) + + def get_git_hash(self, rev: str): + out = subprocess.check_output(['nix-prefetch-git', self.url, rev]) + j = json.loads(out) + return j['sha256'] + + def get_deb_url(self, flavour: str, version: str, arch: str = 'amd64') -> str: + """ + gitlab builds debian packages, which we currently need as we don't build the frontend on our own + this returns the url of a given flavour, version and arch + :param flavour: 'ce' or 'ee' + :param version: a version, without 'v' prefix and '-ee' suffix + :param arch: amd64 + :return: url of the debian package + """ + if self.owner != "gitlab-org" or self.repo not in ['gitlab-ce', 'gitlab-ee']: + raise Exception(f"don't know how to get deb_url for {self.url}") + return f"https://packages.gitlab.com/gitlab/gitlab-{flavour}/packages" + \ + f"/debian/stretch/gitlab-{flavour}_{version}-{flavour}.0_{arch}.deb/download.deb" + + def get_deb_hash(self, flavour: str, version: str) -> str: + out = subprocess.check_output(['nix-prefetch-url', self.get_deb_url(flavour, version)]) + return out.decode('utf-8').strip() + + @staticmethod + def rev2version(tag: str) -> str: + """ + normalize a tag to a version number. + This obviously isn't very smart if we don't pass something that looks like a tag + :param tag: the tag to normalize + :return: a normalized version number + """ + # strip v prefix + version = re.sub(r"^v", '', tag) + # strip -ee suffix + return re.sub(r"-ee$", '', version) + + def get_file(self, filepath, rev): + """ + returns file contents at a given rev + :param filepath: the path to the file, relative to the repo root + :param rev: the rev to fetch at + :return: + """ + return requests.get(self.url + f"/raw/{rev}/{filepath}").text + + def get_data(self, rev, flavour): + version = self.rev2version(rev) + + passthru = {v: self.get_file(v, rev).strip() for v in ['GITALY_SERVER_VERSION', 'GITLAB_PAGES_VERSION', + 'GITLAB_SHELL_VERSION', 'GITLAB_WORKHORSE_VERSION']} + return dict(version=self.rev2version(rev), + repo_hash=self.get_git_hash(rev), + deb_hash=self.get_deb_hash(flavour, version), + deb_url=self.get_deb_url(flavour, version), + owner=self.owner, + repo=self.repo, + rev=rev, + passthru=passthru) + + +def _flavour2gitlabrepo(flavour: str): + if flavour not in ['ce', 'ee']: + raise Exception(f"unknown gitlab flavour: {flavour}, needs to be ce or ee") + + owner = 'gitlab-org' + repo = 'gitlab-' + flavour + + return GitLabRepo(owner, repo) + + +def _update_data_json(filename: str, repo: GitLabRepo, rev: str, flavour: str): + flavour_data = repo.get_data(rev, flavour) + + if not os.path.exists(filename): + with open(filename, 'w') as f: + json.dump({flavour: flavour_data}, f, indent=2) + else: + with open(filename, 'r+') as f: + data = json.load(f) + data[flavour] = flavour_data + f.seek(0) + json.dump(data, f, indent=2) + + +def _get_data_json(): + data_file_path = pathlib.Path(__file__).parent / 'data.json' + with open(data_file_path, 'r') as f: + return json.load(f) + + +def _call_update_source_version(pkg, version): + """calls update-source-version from nixpkgs root dir""" + nixpkgs_path = pathlib.Path(__file__).parent / '../../../../' + return subprocess.check_output(['update-source-version', pkg, version], cwd=nixpkgs_path) + + +@click_log.simple_verbosity_option(logger) +@click.group() +def cli(): + pass + + +@cli.command('update-data') +@click.option('--rev', default='latest', help='The rev to use, \'latest\' points to the latest (stable) tag') +@click.argument('flavour') +def update_data(rev: str, flavour: str): + """Update data.nix for a selected flavour""" + r = _flavour2gitlabrepo(flavour) + + if rev == 'latest': + # filter out pre and re releases + rev = next(filter(lambda x: not ('rc' in x or x.endswith('pre')), r.tags)) + logger.debug(f"Using rev {rev}") + + version = r.rev2version(rev) + logger.debug(f"Using version {version}") + + data_file_path = pathlib.Path(__file__).parent / 'data.json' + + _update_data_json(filename=data_file_path.as_posix(), + repo=r, + rev=rev, + flavour=flavour) + + +@cli.command('update-rubyenv') +@click.argument('flavour') +def update_rubyenv(flavour): + """Update rubyEnv-${flavour}""" + if flavour not in ['ce', 'ee']: + raise Exception(f"unknown gitlab flavour: {flavour}, needs to be ce or ee") + + r = _flavour2gitlabrepo(flavour) + rubyenv_dir = pathlib.Path(__file__).parent / f"rubyEnv-{flavour}" + + # load rev from data.json + data = _get_data_json() + rev = data[flavour]['rev'] + + for fn in ['Gemfile.lock', 'Gemfile']: + with open(rubyenv_dir / fn, 'w') as f: + f.write(r.get_file(fn, rev)) + + subprocess.check_output(['bundix'], cwd=rubyenv_dir) + + +@cli.command('update-gitaly') +def update_gitaly(): + """Update gitaly""" + data = _get_data_json() + gitaly_server_version = data['ce']['passthru']['GITALY_SERVER_VERSION'] + r = GitLabRepo('gitlab-org', 'gitaly') + rubyenv_dir = pathlib.Path(__file__).parent / 'gitaly' + + for fn in ['Gemfile.lock', 'Gemfile']: + with open(rubyenv_dir / fn, 'w') as f: + f.write(r.get_file(f"ruby/{fn}", f"v{gitaly_server_version}")) + + subprocess.check_output(['bundix'], cwd=rubyenv_dir) + # currently broken, as `gitaly.meta.position` returns + # pkgs/development/go-modules/generic/default.nix + # so update-source-version doesn't know where to update hashes + # _call_update_source_version('gitaly', gitaly_server_version) + gitaly_hash = r.get_git_hash(f"v{gitaly_server_version}") + click.echo(f"Please update gitaly/default.nix to version {gitaly_server_version} and hash {gitaly_hash}") + + + +@cli.command('update-gitlab-shell') +def update_gitlab_shell(): + """Update gitlab-shell""" + data = _get_data_json() + gitlab_shell_version = data['ce']['passthru']['GITLAB_SHELL_VERSION'] + _call_update_source_version('gitlab-shell', gitlab_shell_version) + + +@cli.command('update-gitlab-workhorse') +def update_gitlab_workhorse(): + """Update gitlab-shell""" + data = _get_data_json() + gitlab_workhorse_version = data['ce']['passthru']['GITLAB_WORKHORSE_VERSION'] + _call_update_source_version('gitlab-workhorse', gitlab_workhorse_version) + + +@cli.command('update-all') +@click.pass_context +def update_all(ctx): + """Update gitlab ce and ee data.nix and rubyenvs to the latest stable release""" + for flavour in ['ce', 'ee']: + ctx.invoke(update_data, rev='latest', flavour=flavour) + ctx.invoke(update_rubyenv, flavour=flavour) + ctx.invoke(update_gitaly) + ctx.invoke(update_gitlab_shell) + ctx.invoke(update_gitlab_workhorse) + + +if __name__ == '__main__': + cli() diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix index 49df39040db3..a43e1733f063 100644 --- a/pkgs/applications/virtualization/open-vm-tools/default.nix +++ b/pkgs/applications/virtualization/open-vm-tools/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { name = "open-vm-tools-${version}"; - version = "10.3.0"; + version = "10.3.5"; src = fetchFromGitHub { owner = "vmware"; repo = "open-vm-tools"; rev = "stable-${version}"; - sha256 = "0arx4yd8c5qszfgw8rqyi65j37r46dxibmzqqxb096isxhxjymw6"; + sha256 = "10x24gkqcg9lnfxghq92nr76h40s5v3xrv0ymi9c7aqrqry404z7"; }; sourceRoot = "${src.name}/open-vm-tools"; |