···643643 required dependencies manually - but it's tedious and there is always a
644644 possibility that an unwanted dependency will sneak in through some other
645645 package. To completely override such a package you can use
646646- <varname>overrideScope</varname>.
646646+ <varname>overrideScope'</varname>.
647647 </para>
648648649649<screen>
650650-overrides = super: self: rec {
650650+overrides = self: super: rec {
651651 haskell-mode = self.melpaPackages.haskell-mode;
652652 ...
653653};
654654-((emacsPackagesNgGen emacs).overrideScope overrides).emacsWithPackages (p: with p; [
654654+((emacsPackagesNgGen emacs).overrideScope' overrides).emacsWithPackages (p: with p; [
655655 # here both these package will use haskell-mode of our own choice
656656 ghc-mod
657657 dante
+5-5
lib/customisation.nix
···185185 /* Make a set of packages with a common scope. All packages called
186186 with the provided `callPackage' will be evaluated with the same
187187 arguments. Any package in the set may depend on any other. The
188188- `overrideScope' function allows subsequent modification of the package
188188+ `overrideScope'` function allows subsequent modification of the package
189189 set in a consistent way, i.e. all packages in the set will be
190190 called with the overridden packages. The package sets may be
191191 hierarchical: the packages in the set are called with the scope
···195195 let self = f self // {
196196 newScope = scope: newScope (self // scope);
197197 callPackage = self.newScope {};
198198- # TODO(@Ericson2314): Haromonize argument order of `g` with everything else
199199- overrideScope = g:
200200- makeScope newScope
201201- (lib.fixedPoints.extends (lib.flip g) f);
198198+ overrideScope = g: lib.warn
199199+ "`overrideScope` (from `lib.makeScope`) is deprecated. Do `overrideScope' (self: self: { … })` instead of `overrideScope (super: self: { … })`. All other overrides have the parameters in that order, including other definitions of `overrideScope`. This was the only definition violating the pattern."
200200+ (makeScope newScope (lib.fixedPoints.extends (lib.flip g) f));
201201+ overrideScope' = g: makeScope newScope (lib.fixedPoints.extends g f);
202202 packages = f;
203203 };
204204 in self;
+10
maintainers/maintainer-list.nix
···1818 for an example on how to work with this data.
1919 */
2020{
2121+ "1000101" = {
2222+ email = "jan.hrnko@satoshilabs.com";
2323+ github = "1000101";
2424+ name = "Jan Hrnko";
2525+ };
2126 a1russell = {
2227 email = "adamlr6+pub@gmail.com";
2328 github = "a1russell";
···375380 email = "auntieNeo@gmail.com";
376381 github = "auntie";
377382 name = "Jonathan Glines";
383383+ };
384384+ avaq = {
385385+ email = "avaq+nixos@xs4all.nl";
386386+ github = "avaq";
387387+ name = "Aldwin Vlasblom";
378388 };
379389 avery = {
380390 email = "averyl+nixos@protonmail.com";
···2222 config = {
23232424 # Enable in installer, even if the minimal profile disables it.
2525- documentation.nixos.enable = mkForce true;
2525+ documentation.enable = mkForce true;
26262727 # Show the manual.
2828 services.nixosManual.showManual = true;
···1111 exit 1
1212 }
13131414+ dev_exist() {
1515+ local target="$1"
1616+ if [ -e $target ]; then
1717+ return 0
1818+ else
1919+ local uuid=$(echo -n $target | sed -e 's,UUID=\(.*\),\1,g')
2020+ local dev=$(blkid --uuid $uuid)
2121+ return $?
2222+ fi
2323+ }
2424+1425 wait_target() {
1526 local name="$1"
1627 local target="$2"
1728 local secs="''${3:-10}"
1829 local desc="''${4:-$name $target to appear}"
19302020- if [ ! -e $target ]; then
3131+ if ! dev_exist $target; then
2132 echo -n "Waiting $secs seconds for $desc..."
2233 local success=false;
2334 for try in $(seq $secs); do
2435 echo -n "."
2536 sleep 1
2626- if [ -e $target ]; then
3737+ if dev_exist $target; then
2738 success=true
2839 break
2940 fi
···2929 configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
3030 ++ optionals withGui [ "--with-gui=qt4" ];
31313232+ enableParallelBuilding = true;
3333+3234 meta = {
3335 description = "A lite version of Bitcoin using scrypt as a proof-of-work algorithm";
3436 longDescription= ''
···249249250250 clion = buildClion rec {
251251 name = "clion-${version}";
252252- version = "2018.2.2"; /* updated by script */
252252+ version = "2018.2.4"; /* updated by script */
253253 description = "C/C++ IDE. New. Intelligent. Cross-platform";
254254 license = stdenv.lib.licenses.unfree;
255255 src = fetchurl {
256256 url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
257257- sha256 = "1wjrki0awjyjmv7hh5rkhbpx40yqjssgh4nv61fvg189aric4rzj"; /* updated by script */
257257+ sha256 = "0ljzdjvlkm37gclny652nm7kw2hlyl1iiix6h44zq7fhszp5kmyr"; /* updated by script */
258258 };
259259 wmClass = "jetbrains-clion";
260260 update-channel = "CLion Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
···262262263263 datagrip = buildDataGrip rec {
264264 name = "datagrip-${version}";
265265- version = "2018.2.2"; /* updated by script */
265265+ version = "2018.2.4"; /* updated by script */
266266 description = "Your Swiss Army Knife for Databases and SQL";
267267 license = stdenv.lib.licenses.unfree;
268268 src = fetchurl {
269269 url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
270270- sha256 = "0sfcl6bcq5hzwx1fdn8zfyl4qqjcmjmzwspa7v7niyqhbj5zdba9"; /* updated by script */
270270+ sha256 = "1m3b8pfmzz9x2b9izf19ax8h67p1myqqalvm214g1b8qqskqz60i"; /* updated by script */
271271 };
272272 wmClass = "jetbrains-datagrip";
273273 update-channel = "DataGrip 2018.2";
···275275276276 goland = buildGoland rec {
277277 name = "goland-${version}";
278278- version = "2018.2.1"; /* updated by script */
278278+ version = "2018.2.3"; /* updated by script */
279279 description = "Up and Coming Go IDE";
280280 license = stdenv.lib.licenses.unfree;
281281 src = fetchurl {
282282 url = "https://download.jetbrains.com/go/${name}.tar.gz";
283283- sha256 = "0k96v00cbxkgxs9xby5m4dxl4w2kkm2lii54z1hqjwqmc9kxa2ia"; /* updated by script */
283283+ sha256 = "0pd01aw1mv6w47ksgc8zbc7ppgbb64qsdgyqghiyibdjf07h53hd"; /* updated by script */
284284 };
285285 wmClass = "jetbrains-goland";
286286 update-channel = "GoLand Release";
···288288289289 idea-community = buildIdea rec {
290290 name = "idea-community-${version}";
291291- version = "2018.2.2"; /* updated by script */
291291+ version = "2018.2.4"; /* updated by script */
292292 description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
293293 license = stdenv.lib.licenses.asl20;
294294 src = fetchurl {
295295 url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
296296- sha256 = "1495zkccss1bkh803p6065nypqj72zra9dbnlx3iz4kkbawr7j15"; /* updated by script */
296296+ sha256 = "1syrxkp4pk95bvx02g2hg0mvn36w098h82k0qv0j6aqv0sidfzjy"; /* updated by script */
297297 };
298298 wmClass = "jetbrains-idea-ce";
299299 update-channel = "IntelliJ IDEA Release";
···301301302302 idea-ultimate = buildIdea rec {
303303 name = "idea-ultimate-${version}";
304304- version = "2018.2.2"; /* updated by script */
304304+ version = "2018.2.4"; /* updated by script */
305305 description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
306306 license = stdenv.lib.licenses.unfree;
307307 src = fetchurl {
308308 url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
309309- sha256 = "04jzsmnfmxxf264dla6scshk576z8w8sv78mpzb2mc1ndwviwflx"; /* updated by script */
309309+ sha256 = "0z1ga6lzmkn7y7y24984vmp3ilrfc1ak1ddcgsdkwkiq5bx67ck8"; /* updated by script */
310310 };
311311 wmClass = "jetbrains-idea";
312312 update-channel = "IntelliJ IDEA Release";
···314314315315 phpstorm = buildPhpStorm rec {
316316 name = "phpstorm-${version}";
317317- version = "2018.2.2"; /* updated by script */
317317+ version = "2018.2.3"; /* updated by script */
318318 description = "Professional IDE for Web and PHP developers";
319319 license = stdenv.lib.licenses.unfree;
320320 src = fetchurl {
321321 url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
322322- sha256 = "1sjxavkfjg4g9rgjqjjb9d6wg53dwfs8n65w3qbp87c7x3pl006r"; /* updated by script */
322322+ sha256 = "1kdv3h749ly2sadixz3khaxrias3k72fi2ixrzniynwhgiqixz70"; /* updated by script */
323323 };
324324 wmClass = "jetbrains-phpstorm";
325325 update-channel = "PhpStorm 2018.2";
···327327328328 pycharm-community = buildPycharm rec {
329329 name = "pycharm-community-${version}";
330330- version = "2018.2.2"; /* updated by script */
330330+ version = "2018.2.4"; /* updated by script */
331331 description = "PyCharm Community Edition";
332332 license = stdenv.lib.licenses.asl20;
333333 src = fetchurl {
334334 url = "https://download.jetbrains.com/python/${name}.tar.gz";
335335- sha256 = "0nq4xwqczppdrswi826yzjdzqpiwl4iyi70d7g6ncqd9wyiay4z4"; /* updated by script */
335335+ sha256 = "1vjvbaqa1qq173m0xy16v9avav8az43s1dzks55x0gvh5yj3cyqz"; /* updated by script */
336336 };
337337 wmClass = "jetbrains-pycharm-ce";
338338 update-channel = "PyCharm Release";
···340340341341 pycharm-professional = buildPycharm rec {
342342 name = "pycharm-professional-${version}";
343343- version = "2018.2.2"; /* updated by script */
343343+ version = "2018.2.4"; /* updated by script */
344344 description = "PyCharm Professional Edition";
345345 license = stdenv.lib.licenses.unfree;
346346 src = fetchurl {
347347 url = "https://download.jetbrains.com/python/${name}.tar.gz";
348348- sha256 = "1cf8z1wb532qhxlf0z4d791x084drfxzlaxq28hzy4f450bqbkp7"; /* updated by script */
348348+ sha256 = "14q4n62ppp1cxrv8mq2lxv9mjm95adag9856jpl9734s0gyjj3a5"; /* updated by script */
349349 };
350350 wmClass = "jetbrains-pycharm";
351351 update-channel = "PyCharm Release";
···353353354354 rider = buildRider rec {
355355 name = "rider-${version}";
356356- version = "2018.2"; /* updated by script */
356356+ version = "2018.2.3"; /* updated by script */
357357 description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
358358 license = stdenv.lib.licenses.unfree;
359359 src = fetchurl {
360360 url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
361361- sha256 = "0yigw9g53i6xamwva8vcd38f0aysxqkf77avms4l7l63dkap99nq"; /* updated by script */
361361+ sha256 = "1g2b7wszviknzd4srgcvwmci0pxyjbcmjzb4fg5clh62wwdpa16n"; /* updated by script */
362362 };
363363 wmClass = "jetbrains-rider";
364364 update-channel = "Rider 2018.2";
···366366367367 ruby-mine = buildRubyMine rec {
368368 name = "ruby-mine-${version}";
369369- version = "2018.2.1"; /* updated by script */
369369+ version = "2018.2.2"; /* updated by script */
370370 description = "The Most Intelligent Ruby and Rails IDE";
371371 license = stdenv.lib.licenses.unfree;
372372 src = fetchurl {
373373 url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
374374- sha256 = "1gwcadjgs4cw5i3h1xn92ng415vzr5cxyrpgckr1qy37d5f4bhqg"; /* updated by script */
374374+ sha256 = "0585dnbvmzxnj2am6b04lfw75rdhk0fby2cbj58pzzcjz5xlrhvq"; /* updated by script */
375375 };
376376 wmClass = "jetbrains-rubymine";
377377 update-channel = "RubyMine 2018.2";
···379379380380 webstorm = buildWebStorm rec {
381381 name = "webstorm-${version}";
382382- version = "2018.2.2"; /* updated by script */
382382+ version = "2018.2.3"; /* updated by script */
383383 description = "Professional IDE for Web and JavaScript development";
384384 license = stdenv.lib.licenses.unfree;
385385 src = fetchurl {
386386 url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
387387- sha256 = "1a31q7wrg4ihap8j6n2cg98ml1zic78drkrp0p554rgsnh7v4hwr"; /* updated by script */
387387+ sha256 = "0y3a1p047knc598aamxxdmcf5nr86wk60w6nk2bhcasxjyqaw6r4"; /* updated by script */
388388 };
389389 wmClass = "jetbrains-webstorm";
390390 update-channel = "WebStorm Release";
+1
pkgs/applications/editors/monodevelop/default.nix
···7676 meta = with stdenv.lib; {
7777 platforms = platforms.linux;
7878 maintainers = with maintainers; [ obadz ];
7979+ broken = true; # 2018-09-21, build has failed since 2018-03-08
7980 };
8081}
+2
pkgs/applications/misc/qradiolink/default.nix
···4747 qwt
4848 ];
49495050+ enableParallelBuilding = true;
5151+5052 meta = with stdenv.lib; {
5153 description = "SDR transceiver application for analog and digital modes";
5254 homepage = http://qradiolink.org/;
···2121`emacsPackagesNg.emacsWithPackages`,
2222```
2323let customEmacsPackages =
2424- emacsPackagesNg.overrideScope (super: self: {
2424+ emacsPackagesNg.overrideScope' (self: super: {
2525 # use a custom version of emacs
2626 emacs = ...;
2727 # use the unstable MELPA version of magit
+9-18
pkgs/build-support/setup-hooks/auto-patchelf.sh
···77addEnvHooks "$targetOffset" gatherLibraries
8899isExecutable() {
1010- [ "$(file -b -N --mime-type "$1")" = application/x-executable ]
1111-}
1212-1313-findElfs() {
1414- find "$1" -type f -exec "$SHELL" -c '
1515- while [ -n "$1" ]; do
1616- mimeType="$(file -b -N --mime-type "$1")"
1717- if [ "$mimeType" = application/x-executable \
1818- -o "$mimeType" = application/x-pie-executable \
1919- -o "$mimeType" = application/x-sharedlib ]; then
2020- echo "$1"
2121- fi
2222- shift
2323- done
2424- ' -- {} +
1010+ readelf -h "$1" 2> /dev/null | grep -q '^ *Type: *EXEC\>'
2511}
26122713# We cache dependencies so that we don't need to search through all of them on
···167153 # findDependency outside of this, the dependency cache needs to be rebuilt
168154 # from scratch, so keep this in mind if you want to run findDependency
169155 # outside of this function.
170170- findElfs "$prefix" | while read -r elffile; do
171171- autoPatchelfFile "$elffile"
172172- done
156156+ while IFS= read -r -d $'\0' file; do
157157+ isELF "$file" || continue
158158+ if isExecutable "$file"; then
159159+ # Skip if the executable is statically linked.
160160+ readelf -l "$file" | grep -q "^ *INTERP\\>" || continue
161161+ fi
162162+ autoPatchelfFile "$file"
163163+ done < <(find "$prefix" -type f -print0)
173164}
174165175166# XXX: This should ultimately use fixupOutputHooks but we currently don't have
···4747 # To avoid library name collisions
4848 layout = if taggedLayout then "tagged" else "system";
49495050+ # Versions of b2 before 1.65 have job limits; specifically:
5151+ # - Versions before 1.58 support up to 64 jobs[0]
5252+ # - Versions before 1.65 support up to 256 jobs[1]
5353+ #
5454+ # [0]: https://github.com/boostorg/build/commit/0ef40cb86728f1cd804830fef89a6d39153ff632
5555+ # [1]: https://github.com/boostorg/build/commit/316e26ca718afc65d6170029284521392524e4f8
5656+ jobs =
5757+ if versionOlder version "1.58" then
5858+ "$(($NIX_BUILD_CORES<=64 ? $NIX_BUILD_CORES : 64))"
5959+ else if versionOlder version "1.65" then
6060+ "$(($NIX_BUILD_CORES<=256 ? $NIX_BUILD_CORES : 256))"
6161+ else
6262+ "$NIX_BUILD_CORES";
6363+5064 b2Args = concatStringsSep " " ([
5165 "--includedir=$dev/include"
5266 "--libdir=$out/lib"
5353- "-j$NIX_BUILD_CORES"
6767+ "-j${jobs}"
5468 "--layout=${layout}"
5569 "variant=${variant}"
5670 "threading=${threading}"
+1
pkgs/development/libraries/gtk-sharp/3.0.nix
···47474848 meta = {
4949 platforms = stdenv.lib.platforms.linux;
5050+ broken = true; # 2018-09-21, build has failed since 2018-04-28
5051 };
5152}
+1
pkgs/development/libraries/herqq/default.nix
···2020 description = "A software library for building UPnP devices and control points";
2121 platforms = platforms.linux;
2222 maintainers = [ ];
2323+ broken = true; # 2018-09-21, built with qt510 (which was removed) but neither qt59 nor qt511
2324 };
2425}
+2-4
pkgs/development/libraries/libcef/default.nix
···1414in
1515stdenv.mkDerivation rec {
1616 name = "cef-binary-${version}";
1717- # Not very recent but more recent versions have problems:
1818- # https://github.com/bazukas/obs-linuxbrowser/issues/63
1919- version = "3.3325.1750.gaabe4c4";
1717+ version = "3.3497.1833.g13f506f";
2018 src = fetchurl {
2119 url = "http://opensource.spotify.com/cefbuilds/cef_binary_${version}_linux64.tar.bz2";
2222- sha256 = "06pj1ci1lwammz1vwmbgw2fri7gkvbpv4iw67pqckd9xz0cfhwzr";
2020+ sha256 = "02v22yx1ga2yxagjblzkfw0ax7zkrdpc959l1a15m8nah3y7xf9p";
2321 };
2422 nativeBuildInputs = [ cmake ];
2523 makeFlags = "libcef_dll_wrapper";
+2
pkgs/development/libraries/libpfm/default.nix
···11111212 installFlags = "DESTDIR=\${out} PREFIX= LDCONFIG=true";
13131414+ NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
1515+1416 meta = with stdenv.lib; {
1517 description = "Helper library to program the performance monitoring events";
1618 longDescription = ''
···11- # In addition to the arguments you pass to your compiler, you also need to
22- # specify the path of the C++ std header (if you are using C++).
33- # These usually implicitly set by cc-wrapper around clang (pkgs/build-support/cc-wrapper).
44- # The linked ruby code shows generates the required '.clang_complete' for cmake based projects
55- # https://gist.github.com/Mic92/135e83803ed29162817fce4098dec144
66- # as an alternative you can execute the following command:
77- # $ eval echo $(nix-instantiate --eval --expr 'with (import <nixpkgs>) {}; clang.default_cxx_stdlib_compile')
88- preFixup = ''
99- substituteInPlace "$out"/share/vim-plugins/clang_complete/plugin/clang_complete.vim \
1010- --replace "let g:clang_library_path = '' + "''" + ''" "let g:clang_library_path='${llvmPackages.clang.cc}/lib/libclang.so'"
1111- '';
···11- # use `:GrammarousCheck` to initialize checking
22- # In neovim, you also want to use set
33- # let g:grammarous#show_first_error = 1
44- # see https://github.com/rhysd/vim-grammarous/issues/39
55- patches = [
66- (substituteAll {
77- src = ./patches/vim-grammarous/set_default_languagetool.patch;
88- inherit languagetool;
99- })
1010- ];
···11+From f381c118b2d4f7d914481d3cdc830ce41369b002 Mon Sep 17 00:00:00 2001
22+From: Rich Felker <dalias@aerifal.cx>
33+Date: Wed, 19 Sep 2018 18:03:22 -0400
44+Subject: [PATCH] fix getaddrinfo regression with AI_ADDRCONFIG on some
55+ configurations
66+77+despite not being documented to do so in the standard or Linux
88+documentation, attempts to udp connect to 127.0.0.1 or ::1 generate
99+EADDRNOTAVAIL when the loopback device is not configured and there is
1010+no default route for IPv6. this caused getaddrinfo with AI_ADDRCONFIG
1111+to fail with EAI_SYSTEM and EADDRNOTAVAIL on some no-IPv6
1212+configurations, rather than the intended behavior of detecting IPv6 as
1313+unsuppported and producing IPv4-only results.
1414+1515+previously, only EAFNOSUPPORT was treated as unavailability of the
1616+address family being probed. instead, treat all errors related to
1717+inability to get an address or route as conclusive that the family
1818+being probed is unsupported, and only fail with EAI_SYSTEM on other
1919+errors.
2020+2121+further improvements may be desirable, such as reporting EAI_AGAIN
2222+instead of EAI_SYSTEM for errors which are expected to be transient,
2323+but this patch should suffice to fix the serious regression.
2424+---
2525+ src/network/getaddrinfo.c | 11 ++++++++++-
2626+ 1 file changed, 10 insertions(+), 1 deletion(-)
2727+2828+diff --git a/src/network/getaddrinfo.c b/src/network/getaddrinfo.c
2929+index ba26847a..e33bfa28 100644
3030+--- a/src/network/getaddrinfo.c
3131++++ b/src/network/getaddrinfo.c
3232+@@ -76,7 +76,16 @@ int getaddrinfo(const char *restrict host, const char *restrict serv, const stru
3333+ close(s);
3434+ if (!r) continue;
3535+ }
3636+- if (errno != EAFNOSUPPORT) return EAI_SYSTEM;
3737++ switch (errno) {
3838++ case EADDRNOTAVAIL:
3939++ case EAFNOSUPPORT:
4040++ case EHOSTUNREACH:
4141++ case ENETDOWN:
4242++ case ENETUNREACH:
4343++ break;
4444++ default:
4545++ return EAI_SYSTEM;
4646++ }
4747+ if (family == tf[i]) return EAI_NONAME;
4848+ family = tf[1-i];
4949+ }
5050+--
5151+2.19.0
5252+
···11+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook
22+, alsaLib, bluez, glib, sbc
33+44+# optional, but useful utils
55+, readline, libbsd, ncurses
66+77+# optional codecs
88+, aacSupport ? true, fdk_aac
99+# TODO: aptxSupport
1010+}:
1111+1212+with stdenv.lib;
1313+1414+stdenv.mkDerivation rec {
1515+ name = "bluez-alsa-${version}";
1616+ version = "1.3.1";
1717+1818+ src = fetchFromGitHub {
1919+ owner = "Arkq";
2020+ repo = "bluez-alsa";
2121+ rev = "v${version}";
2222+ sha256 = "1rzcl65gipszsmlcg24gh1xkjkyk4929xhakn6y2smrgwv1zjqdh";
2323+ };
2424+2525+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
2626+2727+ buildInputs = [
2828+ alsaLib bluez glib sbc
2929+ readline libbsd ncurses
3030+ ]
3131+ ++ optional aacSupport fdk_aac;
3232+3333+ configureFlags = [
3434+ "--with-alsaplugindir=\$out/lib/alsa-lib"
3535+ "--enable-rfcomm"
3636+ "--enable-hcitop"
3737+ ]
3838+ ++ optional aacSupport "--enable-aac";
3939+4040+ doCheck = false; # fails 1 of 3 tests, needs access to ALSA
4141+4242+ meta = {
4343+ description = "Bluez 5 Bluetooth Audio ALSA Backend";
4444+ longDescription = ''
4545+ Bluez-ALSA (BlueALSA) is an ALSA backend for Bluez 5 audio interface.
4646+ Bluez-ALSA registers all Bluetooth devices with audio profiles in Bluez
4747+ under a virtual ALSA PCM device called `bluealsa` that supports both
4848+ playback and capture.
4949+5050+ Some backstory: Bluez 5 removed built-in support for ALSA in favor of a
5151+ generic interface for 3rd party appliations. Thereafter, PulseAudio
5252+ implemented a backend for that interface and became the only way to get
5353+ Bluetooth audio with Bluez 5. Users prefering ALSA stayed on Bluez 4.
5454+ However, Bluez 4 eventually became deprecated.
5555+5656+ This package is a rebirth of a direct interface between ALSA and Bluez 5,
5757+ that, unlike PulseAudio, provides KISS near-metal-like experience. It is
5858+ not possible to run BluezALSA and PulseAudio Bluetooth at the same time
5959+ due to limitations in Bluez, but it is possible to run PulseAudio over
6060+ BluezALSA if you disable `bluetooth-discover` and `bluez5-discover`
6161+ modules in PA and configure it to play/capture sound over `bluealsa` PCM.
6262+ '';
6363+ homepage = src.meta.homepage;
6464+ license = licenses.mit;
6565+ platforms = platforms.linux;
6666+ maintainers = [ maintainers.oxij ];
6767+ };
6868+6969+}
···2233stdenv.mkDerivation rec {
44 name = "jdupes-${version}";
55- version = "1.10.2";
55+ version = "1.10.4";
6677 src = fetchFromGitHub {
88 owner = "jbruchon";
99 repo = "jdupes";
1010 rev = "v${version}";
1111- sha256 = "0msp68h1gaipwpvdylpwd6w9al5gcmawj9cmvi7nw8ihh184g3m7";
1111+ sha256 = "03a2jxv634xy5qwjrk784k3y3pd8f94pndf5m84yg2y7i8dvppnk";
1212 # Unicode file names lead to different checksums on HFS+ vs. other
1313 # filesystems because of unicode normalisation. The testdir
1414 # directories have such files and will be removed.