Merge remote-tracking branch 'upstream/master' into staging

This commit is contained in:
John Ericson 2018-05-14 22:53:10 -04:00
commit f2017c40ae
48 changed files with 1528 additions and 2268 deletions

View File

@ -675,6 +675,7 @@ rec {
in
{ config, options, ... }:
{ options = setAttrByPath from (mkOption {
inherit visible;
description = "Alias of <option>${showOption to}</option>.";
apply = x: use (toOf config);
});

View File

@ -31,4 +31,6 @@ with lib;
# Allow the user to log in as root without a password.
users.extraUsers.root.initialHashedPassword = "";
system.nixos.stateVersion = mkDefault "18.03";
}

View File

@ -21,4 +21,5 @@ with lib;
services.xserver.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" "modesetting" ];
powerManagement.enable = false;
system.nixos.stateVersion = mkDefault "18.03";
}

View File

@ -198,6 +198,7 @@ in rec {
modules = singleton ({ config, pkgs, ... }:
{ fileSystems."/".device = mkDefault "/dev/sda1";
boot.loader.grub.device = mkDefault "/dev/sda";
system.nixos.stateVersion = mkDefault "18.03";
});
}).config.system.build.toplevel;
preferLocalBuild = true;

View File

@ -17,7 +17,9 @@ import ./make-test.nix ({ pkgs, ...} : {
emptyContainer = import ../lib/eval-config.nix {
inherit (config.nixpkgs.localSystem) system;
modules = lib.singleton {
containers.foo.config = {};
containers.foo.config = {
system.nixos.stateVersion = "18.03";
};
};
};
in [ pkgs.stdenv emptyContainer.config.containers.foo.path pkgs.libxslt ];

View File

@ -21,6 +21,7 @@ import ./make-test.nix ({ pkgs, ...} : {
services.httpd.adminAddr = "foo@example.org";
networking.firewall.allowedTCPPorts = [ 80 ];
networking.firewall.allowPing = true;
system.nixos.stateVersion = "18.03";
};
};

View File

@ -1 +1 @@
WGET_ARGS=( https://download.kde.org/stable/applications/18.04.0/ -A '*.tar.xz' )
WGET_ARGS=( https://download.kde.org/stable/applications/18.04.1/ -A '*.tar.xz' )

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, zlib }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "minimap2";
version = "2.10";
src = fetchFromGitHub {
repo = pname;
owner = "lh3";
rev = "v${version}";
sha256 = "0b35w14j9h2q9qbh3sxc518mcx0ifsvwqr1nv70rv6mgy1cqqkw0";
};
buildInputs = [ zlib ];
installPhase = ''
mkdir -p $out/bin
cp minimap2 $out/bin
mkdir -p $out/share/man/man1
cp minimap2.1 $out/share/man/man1
'';
meta = with stdenv.lib; {
description = "A versatile pairwise aligner for genomic and spliced nucleotide sequences";
homepage = https://lh3.github.io/minimap2;
license = licenses.mit;
platforms = platforms.all;
maintainers = [ maintainers.arcadio ];
};
}

View File

@ -1,13 +1,9 @@
# Handbrake normally uses its own copies of the libraries it uses, for better
# control over library patches.
# Upstream distributes HandBrake with bundle of according versions of libraries and patches to them.
#
# This derivation patches HB so it doesn't do that. The relevant patches
# are added to the Nix packages and proposed upstream instead. In several cases
# upstream already incorporated these patches.
# This has the benefits of providing improvements to other packages,
# making licenses more clear and reducing compile time/install size.
# Derivation patches HandBrake to use our closure.
#
# Only tested on Linux
# TODO: Release 1.2.0 would switch LibAV to FFmpeg.
{ stdenv, lib, fetchurl,
python2, pkgconfig, yasm, harfbuzz, zlib,
@ -34,7 +30,7 @@ stdenv.mkDerivation rec {
};
patched_libav_12 = libav_12.overrideAttrs (super: {
# 2018-04-26: HandBrake compilation (1.1.0) requires a patch of LibAV (12.3) from HandBrake team. This patch not went LibAV upstream.
# NOTE: 2018-04-26: HandBrake compilation (1.1.0) requires a patch of LibAV (12.3) from HandBrake team. This patch not went LibAV upstream.
patches = (super.patches or []) ++ [(
fetchurl {
url = ''https://raw.githubusercontent.com/HandBrake/HandBrake/9e1f245708a157231c427c0ef9b91729d59a30e1/contrib/ffmpeg/A21-mp4-sdtp.patch'';
@ -107,7 +103,6 @@ stdenv.mkDerivation rec {
'';
license = licenses.gpl2;
maintainers = with maintainers; [ Anton-Latukha wmertens ];
# Not tested on anything else
platforms = platforms.linux;
};
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "terminology-${version}";
version = "1.2.0";
version = "1.2.1";
src = fetchurl {
url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.xz";
sha256 = "0kw34l5lahn1qaks3ah6x8k41d6hfywpqfak2p7qq1z87zj506mx";
sha256 = "1ii8332bl88l8md3gvz5dhi9bjpm6shyf14ck9kfyy7d56hp71mc";
};
nativeBuildInputs = [

View File

@ -208,6 +208,9 @@ self: super: {
# https://github.com/jputcu/serialport/issues/25
serialport = dontCheck super.serialport;
serialise = dontCheck super.serialise;
cryptohash-sha512 = dontCheck super.cryptohash-sha512;
# https://github.com/kazu-yamamoto/simple-sendfile/issues/17
simple-sendfile = dontCheck super.simple-sendfile;
@ -247,7 +250,17 @@ self: super: {
digit = doJailbreak super.digit;
# https://github.com/jwiegley/hnix/issues/98 - tied to an older deriving-compat
hnix = doJailbreak super.hnix;
hnix = doJailbreak (overrideCabal super.hnix (old: {
patches = old.patches or [] ++ [
# should land in hnix-5.2
(pkgs.fetchpatch {
url = "https://github.com/haskell-nix/hnix/commit/9cfe060a9dbe9e7c64867956a0523eed9661803a.patch";
sha256 = "0ci4n7nw2pzqw0gkmkp4szzvxjyb143a4znjm39jmb0s397a68sh";
name = "disable-hpack-test-by-default.patch";
})
];
testHaskellDepends = old.testHaskellDepends or [] ++ [ pkgs.nix ];
}));
# Fails for non-obvious reasons while attempting to use doctest.
search = dontCheck super.search;

View File

@ -1,152 +0,0 @@
diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h
--- a52dec.old/include/a52.h 2002-01-28 06:37:54.000000000 +0100
+++ a52dec.new/include/a52.h 2012-07-16 14:13:35.000000000 +0200
@@ -30,7 +30,71 @@
typedef double sample_t;
#endif
-typedef struct a52_state_s a52_state_t;
+typedef struct {
+ uint8_t bai; /* fine SNR offset, fast gain */
+ uint8_t deltbae; /* delta bit allocation exists */
+ int8_t deltba[50]; /* per-band delta bit allocation */
+} ba_t;
+
+typedef struct {
+ uint8_t exp[256]; /* decoded channel exponents */
+ int8_t bap[256]; /* derived channel bit allocation */
+} expbap_t;
+
+typedef struct {
+ uint8_t fscod; /* sample rate */
+ uint8_t halfrate; /* halfrate factor */
+ uint8_t acmod; /* coded channels */
+ uint8_t lfeon; /* coded lfe channel */
+ sample_t clev; /* centre channel mix level */
+ sample_t slev; /* surround channels mix level */
+
+ int output; /* type of output */
+ sample_t level; /* output level */
+ sample_t bias; /* output bias */
+
+ int dynrnge; /* apply dynamic range */
+ sample_t dynrng; /* dynamic range */
+ void * dynrngdata; /* dynamic range callback funtion and data */
+ sample_t (* dynrngcall) (sample_t range, void * dynrngdata);
+
+ uint8_t chincpl; /* channel coupled */
+ uint8_t phsflginu; /* phase flags in use (stereo only) */
+ uint8_t cplstrtmant; /* coupling channel start mantissa */
+ uint8_t cplendmant; /* coupling channel end mantissa */
+ uint32_t cplbndstrc; /* coupling band structure */
+ sample_t cplco[5][18]; /* coupling coordinates */
+
+ /* derived information */
+ uint8_t cplstrtbnd; /* coupling start band (for bit allocation) */
+ uint8_t ncplbnd; /* number of coupling bands */
+
+ uint8_t rematflg; /* stereo rematrixing */
+
+ uint8_t endmant[5]; /* channel end mantissa */
+
+ uint16_t bai; /* bit allocation information */
+
+ uint32_t * buffer_start;
+ uint16_t lfsr_state; /* dither state */
+ uint32_t bits_left;
+ uint32_t current_word;
+
+ uint8_t csnroffst; /* coarse SNR offset */
+ ba_t cplba; /* coupling bit allocation parameters */
+ ba_t ba[5]; /* channel bit allocation parameters */
+ ba_t lfeba; /* lfe bit allocation parameters */
+
+ uint8_t cplfleak; /* coupling fast leak init */
+ uint8_t cplsleak; /* coupling slow leak init */
+
+ expbap_t cpl_expbap;
+ expbap_t fbw_expbap[5];
+ expbap_t lfe_expbap;
+
+ sample_t * samples;
+ int downmixed;
+} a52_state_t;
#define A52_CHANNEL 0
#define A52_MONO 1
diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h
--- a52dec.old/liba52/a52_internal.h 2002-07-28 03:52:06.000000000 +0200
+++ a52dec.new/liba52/a52_internal.h 2012-07-16 14:11:47.000000000 +0200
@@ -21,72 +21,6 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-typedef struct {
- uint8_t bai; /* fine SNR offset, fast gain */
- uint8_t deltbae; /* delta bit allocation exists */
- int8_t deltba[50]; /* per-band delta bit allocation */
-} ba_t;
-
-typedef struct {
- uint8_t exp[256]; /* decoded channel exponents */
- int8_t bap[256]; /* derived channel bit allocation */
-} expbap_t;
-
-struct a52_state_s {
- uint8_t fscod; /* sample rate */
- uint8_t halfrate; /* halfrate factor */
- uint8_t acmod; /* coded channels */
- uint8_t lfeon; /* coded lfe channel */
- sample_t clev; /* centre channel mix level */
- sample_t slev; /* surround channels mix level */
-
- int output; /* type of output */
- sample_t level; /* output level */
- sample_t bias; /* output bias */
-
- int dynrnge; /* apply dynamic range */
- sample_t dynrng; /* dynamic range */
- void * dynrngdata; /* dynamic range callback funtion and data */
- sample_t (* dynrngcall) (sample_t range, void * dynrngdata);
-
- uint8_t chincpl; /* channel coupled */
- uint8_t phsflginu; /* phase flags in use (stereo only) */
- uint8_t cplstrtmant; /* coupling channel start mantissa */
- uint8_t cplendmant; /* coupling channel end mantissa */
- uint32_t cplbndstrc; /* coupling band structure */
- sample_t cplco[5][18]; /* coupling coordinates */
-
- /* derived information */
- uint8_t cplstrtbnd; /* coupling start band (for bit allocation) */
- uint8_t ncplbnd; /* number of coupling bands */
-
- uint8_t rematflg; /* stereo rematrixing */
-
- uint8_t endmant[5]; /* channel end mantissa */
-
- uint16_t bai; /* bit allocation information */
-
- uint32_t * buffer_start;
- uint16_t lfsr_state; /* dither state */
- uint32_t bits_left;
- uint32_t current_word;
-
- uint8_t csnroffst; /* coarse SNR offset */
- ba_t cplba; /* coupling bit allocation parameters */
- ba_t ba[5]; /* channel bit allocation parameters */
- ba_t lfeba; /* lfe bit allocation parameters */
-
- uint8_t cplfleak; /* coupling fast leak init */
- uint8_t cplsleak; /* coupling slow leak init */
-
- expbap_t cpl_expbap;
- expbap_t fbw_expbap[5];
- expbap_t lfe_expbap;
-
- sample_t * samples;
- int downmixed;
-};
-
#define LEVEL_PLUS6DB 2.0
#define LEVEL_PLUS3DB 1.4142135623730951
#define LEVEL_3DB 0.7071067811865476

View File

@ -1,462 +0,0 @@
diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h
--- a52dec.old/include/a52.h 2012-07-16 14:24:14.000000000 +0200
+++ a52dec.new/include/a52.h 2012-07-16 14:31:37.000000000 +0200
@@ -42,6 +42,11 @@
} expbap_t;
typedef struct {
+ sample_t real;
+ sample_t imag;
+} complex_t;
+
+typedef struct {
uint8_t fscod; /* sample rate */
uint8_t halfrate; /* halfrate factor */
uint8_t acmod; /* coded channels */
@@ -94,6 +99,20 @@
sample_t * samples;
int downmixed;
+
+ /* Root values for IFFT */
+ sample_t * roots16; // size 3
+ sample_t * roots32; // size 7
+ sample_t * roots64; // size 15
+ sample_t * roots128; // size 31
+
+ /* Twiddle factors for IMDCT */
+ complex_t * pre1; // size 128
+ complex_t * post1; // size 64
+ complex_t * pre2; // size 64
+ complex_t * post2; // size 32
+
+ sample_t * a52_imdct_window; // size 256
} a52_state_t;
#define A52_CHANNEL 0
diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h
--- a52dec.old/liba52/a52_internal.h 2012-07-16 14:24:14.000000000 +0200
+++ a52dec.new/liba52/a52_internal.h 2012-07-16 14:28:33.000000000 +0200
@@ -49,6 +49,6 @@
sample_t clev, sample_t slev);
void a52_upmix (sample_t * samples, int acmod, int output);
-void a52_imdct_init (uint32_t mm_accel);
-void a52_imdct_256 (sample_t * data, sample_t * delay, sample_t bias);
-void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias);
+void a52_imdct_init (a52_state_t * state, uint32_t mm_accel);
+void a52_imdct_256 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias);
+void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias);
diff -Naur a52dec.old/liba52/imdct.c a52dec.new/liba52/imdct.c
--- a52dec.old/liba52/imdct.c 2012-07-16 14:24:14.000000000 +0200
+++ a52dec.new/liba52/imdct.c 2012-07-16 14:33:00.000000000 +0200
@@ -40,11 +40,6 @@
#include "a52_internal.h"
#include "mm_accel.h"
-typedef struct complex_s {
- sample_t real;
- sample_t imag;
-} complex_t;
-
static uint8_t fftorder[] = {
0,128, 64,192, 32,160,224, 96, 16,144, 80,208,240,112, 48,176,
8,136, 72,200, 40,168,232,104,248,120, 56,184, 24,152,216, 88,
@@ -56,22 +51,8 @@
6,134, 70,198, 38,166,230,102,246,118, 54,182, 22,150,214, 86
};
-/* Root values for IFFT */
-static sample_t roots16[3];
-static sample_t roots32[7];
-static sample_t roots64[15];
-static sample_t roots128[31];
-
-/* Twiddle factors for IMDCT */
-static complex_t pre1[128];
-static complex_t post1[64];
-static complex_t pre2[64];
-static complex_t post2[32];
-
-static sample_t a52_imdct_window[256];
-
-static void (* ifft128) (complex_t * buf);
-static void (* ifft64) (complex_t * buf);
+static void (* ifft128) (a52_state_t * state, complex_t * buf);
+static void (* ifft64) (a52_state_t * state, complex_t * buf);
static inline void ifft2 (complex_t * buf)
{
@@ -167,7 +148,7 @@
a1.imag += tmp4; \
} while (0)
-static inline void ifft8 (complex_t * buf)
+static inline void ifft8 (a52_state_t * state, complex_t * buf)
{
double tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8;
@@ -175,7 +156,7 @@
ifft2 (buf + 4);
ifft2 (buf + 6);
BUTTERFLY_ZERO (buf[0], buf[2], buf[4], buf[6]);
- BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], roots16[1]);
+ BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], state->roots16[1]);
}
static void ifft_pass (complex_t * buf, sample_t * weight, int n)
@@ -205,66 +186,66 @@
} while (--i);
}
-static void ifft16 (complex_t * buf)
+static void ifft16 (a52_state_t * state, complex_t * buf)
{
- ifft8 (buf);
+ ifft8 (state, buf);
ifft4 (buf + 8);
ifft4 (buf + 12);
- ifft_pass (buf, roots16 - 4, 4);
+ ifft_pass (buf, state->roots16 - 4, 4);
}
-static void ifft32 (complex_t * buf)
+static void ifft32 (a52_state_t * state, complex_t * buf)
{
- ifft16 (buf);
- ifft8 (buf + 16);
- ifft8 (buf + 24);
- ifft_pass (buf, roots32 - 8, 8);
+ ifft16 (state, buf);
+ ifft8 (state, buf + 16);
+ ifft8 (state, buf + 24);
+ ifft_pass (buf, state->roots32 - 8, 8);
}
-static void ifft64_c (complex_t * buf)
+static void ifft64_c (a52_state_t * state, complex_t * buf)
{
- ifft32 (buf);
- ifft16 (buf + 32);
- ifft16 (buf + 48);
- ifft_pass (buf, roots64 - 16, 16);
+ ifft32 (state, buf);
+ ifft16 (state, buf + 32);
+ ifft16 (state, buf + 48);
+ ifft_pass (buf, state->roots64 - 16, 16);
}
-static void ifft128_c (complex_t * buf)
+static void ifft128_c (a52_state_t * state, complex_t * buf)
{
- ifft32 (buf);
- ifft16 (buf + 32);
- ifft16 (buf + 48);
- ifft_pass (buf, roots64 - 16, 16);
+ ifft32 (state, buf);
+ ifft16 (state, buf + 32);
+ ifft16 (state, buf + 48);
+ ifft_pass (buf, state->roots64 - 16, 16);
- ifft32 (buf + 64);
- ifft32 (buf + 96);
- ifft_pass (buf, roots128 - 32, 32);
+ ifft32 (state, buf + 64);
+ ifft32 (state, buf + 96);
+ ifft_pass (buf, state->roots128 - 32, 32);
}
-void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias)
+void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias)
{
int i, k;
sample_t t_r, t_i, a_r, a_i, b_r, b_i, w_1, w_2;
- const sample_t * window = a52_imdct_window;
+ const sample_t * window = state->a52_imdct_window;
complex_t buf[128];
for (i = 0; i < 128; i++) {
k = fftorder[i];
- t_r = pre1[i].real;
- t_i = pre1[i].imag;
+ t_r = state->pre1[i].real;
+ t_i = state->pre1[i].imag;
buf[i].real = t_i * data[255-k] + t_r * data[k];
buf[i].imag = t_r * data[255-k] - t_i * data[k];
}
- ifft128 (buf);
+ ifft128 (state, buf);
/* Post IFFT complex multiply plus IFFT complex conjugate*/
/* Window and convert to real valued signal */
for (i = 0; i < 64; i++) {
/* y[n] = z[n] * (xcos1[n] + j * xsin1[n]) ; */
- t_r = post1[i].real;
- t_i = post1[i].imag;
+ t_r = state->post1[i].real;
+ t_i = state->post1[i].imag;
a_r = t_r * buf[i].real + t_i * buf[i].imag;
a_i = t_i * buf[i].real - t_r * buf[i].imag;
@@ -285,18 +266,18 @@
}
}
-void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias)
+void a52_imdct_256(a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias)
{
int i, k;
sample_t t_r, t_i, a_r, a_i, b_r, b_i, c_r, c_i, d_r, d_i, w_1, w_2;
- const sample_t * window = a52_imdct_window;
+ const sample_t * window = state->a52_imdct_window;
complex_t buf1[64], buf2[64];
/* Pre IFFT complex multiply plus IFFT cmplx conjugate */
for (i = 0; i < 64; i++) {
k = fftorder[i];
- t_r = pre2[i].real;
- t_i = pre2[i].imag;
+ t_r = state->pre2[i].real;
+ t_i = state->pre2[i].imag;
buf1[i].real = t_i * data[254-k] + t_r * data[k];
buf1[i].imag = t_r * data[254-k] - t_i * data[k];
@@ -305,15 +286,15 @@
buf2[i].imag = t_r * data[255-k] - t_i * data[k+1];
}
- ifft64 (buf1);
- ifft64 (buf2);
+ ifft64 (state, buf1);
+ ifft64 (state, buf2);
/* Post IFFT complex multiply */
/* Window and convert to real valued signal */
for (i = 0; i < 32; i++) {
/* y1[n] = z1[n] * (xcos2[n] + j * xs in2[n]) ; */
- t_r = post2[i].real;
- t_i = post2[i].imag;
+ t_r = state->post2[i].real;
+ t_i = state->post2[i].imag;
a_r = t_r * buf1[i].real + t_i * buf1[i].imag;
a_i = t_i * buf1[i].real - t_r * buf1[i].imag;
@@ -362,7 +343,7 @@
return bessel;
}
-void a52_imdct_init (uint32_t mm_accel)
+void a52_imdct_init (a52_state_t * state, uint32_t mm_accel)
{
int i, k;
double sum;
@@ -371,50 +352,50 @@
sum = 0;
for (i = 0; i < 256; i++) {
sum += besselI0 (i * (256 - i) * (5 * M_PI / 256) * (5 * M_PI / 256));
- a52_imdct_window[i] = sum;
+ state->a52_imdct_window[i] = sum;
}
sum++;
for (i = 0; i < 256; i++)
- a52_imdct_window[i] = sqrt (a52_imdct_window[i] / sum);
+ state->a52_imdct_window[i] = sqrt (state->a52_imdct_window[i] / sum);
for (i = 0; i < 3; i++)
- roots16[i] = cos ((M_PI / 8) * (i + 1));
+ state->roots16[i] = cos ((M_PI / 8) * (i + 1));
for (i = 0; i < 7; i++)
- roots32[i] = cos ((M_PI / 16) * (i + 1));
+ state->roots32[i] = cos ((M_PI / 16) * (i + 1));
for (i = 0; i < 15; i++)
- roots64[i] = cos ((M_PI / 32) * (i + 1));
+ state->roots64[i] = cos ((M_PI / 32) * (i + 1));
for (i = 0; i < 31; i++)
- roots128[i] = cos ((M_PI / 64) * (i + 1));
+ state->roots128[i] = cos ((M_PI / 64) * (i + 1));
for (i = 0; i < 64; i++) {
k = fftorder[i] / 2 + 64;
- pre1[i].real = cos ((M_PI / 256) * (k - 0.25));
- pre1[i].imag = sin ((M_PI / 256) * (k - 0.25));
+ state->pre1[i].real = cos ((M_PI / 256) * (k - 0.25));
+ state->pre1[i].imag = sin ((M_PI / 256) * (k - 0.25));
}
for (i = 64; i < 128; i++) {
k = fftorder[i] / 2 + 64;
- pre1[i].real = -cos ((M_PI / 256) * (k - 0.25));
- pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25));
+ state->pre1[i].real = -cos ((M_PI / 256) * (k - 0.25));
+ state->pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25));
}
for (i = 0; i < 64; i++) {
- post1[i].real = cos ((M_PI / 256) * (i + 0.5));
- post1[i].imag = sin ((M_PI / 256) * (i + 0.5));
+ state->post1[i].real = cos ((M_PI / 256) * (i + 0.5));
+ state->post1[i].imag = sin ((M_PI / 256) * (i + 0.5));
}
for (i = 0; i < 64; i++) {
k = fftorder[i] / 4;
- pre2[i].real = cos ((M_PI / 128) * (k - 0.25));
- pre2[i].imag = sin ((M_PI / 128) * (k - 0.25));
+ state->pre2[i].real = cos ((M_PI / 128) * (k - 0.25));
+ state->pre2[i].imag = sin ((M_PI / 128) * (k - 0.25));
}
for (i = 0; i < 32; i++) {
- post2[i].real = cos ((M_PI / 128) * (i + 0.5));
- post2[i].imag = sin ((M_PI / 128) * (i + 0.5));
+ state->post2[i].real = cos ((M_PI / 128) * (i + 0.5));
+ state->post2[i].imag = sin ((M_PI / 128) * (i + 0.5));
}
#ifdef LIBA52_DJBFFT
diff -Naur a52dec.old/liba52/parse.c a52dec.new/liba52/parse.c
--- a52dec.old/liba52/parse.c 2012-07-16 14:24:14.000000000 +0200
+++ a52dec.new/liba52/parse.c 2012-07-16 14:33:00.000000000 +0200
@@ -56,16 +56,53 @@
a52_state_t * state;
int i;
- state = malloc (sizeof (a52_state_t));
+ state = calloc (1, sizeof (a52_state_t));
if (state == NULL)
return NULL;
state->samples = memalign (16, 256 * 12 * sizeof (sample_t));
if (state->samples == NULL) {
- free (state);
- return NULL;
+ goto fail;
}
+ /* Root values for IFFT */
+ state->roots16 = memalign (16, 3 * sizeof (sample_t));
+ if (state->roots16 == NULL)
+ goto fail;
+
+ state->roots32 = memalign (16, 7 * sizeof (sample_t));
+ if (state->roots32 == NULL)
+ goto fail;
+
+ state->roots64 = memalign (16, 15 * sizeof (sample_t));
+ if (state->roots64 == NULL)
+ goto fail;
+
+ state->roots128 = memalign (16, 31 * sizeof (sample_t));
+ if (state->roots128 == NULL)
+ goto fail;
+
+ /* Twiddle factors for IMDCT */
+ state->pre1 = memalign (16, 128 * sizeof (complex_t));
+ if (state->pre1 == NULL)
+ goto fail;
+
+ state->post1 = memalign (16, 64 * sizeof (complex_t));
+ if (state->post1 == NULL)
+ goto fail;
+
+ state->pre2 = memalign (16, 64 * sizeof (complex_t));
+ if (state->pre2 == NULL)
+ goto fail;
+
+ state->post2 = memalign (16, 32 * sizeof (complex_t));
+ if (state->post2 == NULL)
+ goto fail;
+
+ state->a52_imdct_window = memalign (16, 256 * sizeof (sample_t));
+ if (state->a52_imdct_window == NULL)
+ goto fail;
+
for (i = 0; i < 256 * 12; i++)
state->samples[i] = 0;
@@ -73,9 +110,27 @@
state->lfsr_state = 1;
- a52_imdct_init (mm_accel);
+ a52_imdct_init (state, mm_accel);
return state;
+
+fail:
+ if ( state )
+ {
+ free (state->a52_imdct_window);
+ free (state->post2);
+ free (state->pre2);
+ free (state->post1);
+ free (state->pre1);
+ free (state->roots128);
+ free (state->roots64);
+ free (state->roots32);
+ free (state->roots16);
+ free (state->samples);
+ free (state);
+ }
+ return NULL;
+
}
sample_t * a52_samples (a52_state_t * state)
@@ -825,7 +880,7 @@
state->dynrng, 0, 7);
for (i = 7; i < 256; i++)
(samples-256)[i] = 0;
- a52_imdct_512 (samples - 256, samples + 1536 - 256, state->bias);
+ a52_imdct_512 (state, samples - 256, samples + 1536 - 256, state->bias);
} else {
/* just skip the LFE coefficients */
coeff_get (state, samples + 1280, &state->lfe_expbap, &quantizer,
@@ -854,10 +909,10 @@
if (coeff[i]) {
if (blksw[i])
- a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i,
+ a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i,
bias);
else
- a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i,
+ a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i,
bias);
} else {
int j;
@@ -883,11 +938,11 @@
if (blksw[0])
for (i = 0; i < nfchans; i++)
- a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i,
+ a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i,
state->bias);
else
for (i = 0; i < nfchans; i++)
- a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i,
+ a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i,
state->bias);
}
@@ -896,6 +951,15 @@
void a52_free (a52_state_t * state)
{
+ free (state->a52_imdct_window);
+ free (state->post2);
+ free (state->pre2);
+ free (state->post1);
+ free (state->pre1);
+ free (state->roots128);
+ free (state->roots64);
+ free (state->roots32);
+ free (state->roots16);
free (state->samples);
free (state);
}

View File

@ -1,11 +0,0 @@
diff -Naur a52dec_original/liba52/imdct.c a52dec_patched/liba52/imdct.c
--- a52dec.old/liba52/imdct.c 2002-07-28 03:52:07.000000000 +0200
+++ a52dec.new/liba52/imdct.c 2011-07-15 20:29:09.000000000 +0200
@@ -425,7 +425,6 @@
} else
#endif
{
- fprintf (stderr, "No accelerated IMDCT transform found\n");
ifft128 = ifft128_c;
ifft64 = ifft64_c;
}

View File

@ -1,12 +0,0 @@
diff -Naur a52dec.orig/configure.in a52dec/configure.in
--- a52dec.orig/configure.in 2002-07-27 23:50:20.000000000 -0400
+++ a52dec/configure.in 2013-01-28 21:06:27.000000000 -0500
@@ -6,7 +6,7 @@
AC_CONFIG_FILES([Makefile autotools/Makefile include/Makefile test/Makefile
doc/Makefile src/Makefile liba52/Makefile libao/Makefile vc++/Makefile])
AM_INIT_AUTOMAKE([a52dec],[0.7.4])
-AM_CONFIG_HEADER(include/config.h)
+AC_CONFIG_HEADER(include/config.h)
AM_MAINTAINER_MODE
AC_CANONICAL_HOST

View File

@ -2,20 +2,12 @@
stdenv.mkDerivation rec {
name = "a52dec-0.7.4p4";
src = fetchurl {
url = "${meta.homepage}/files/a52dec-0.7.4.tar.gz";
sha256 = "0czccp4fcpf2ykp16xcrzdfmnircz1ynhls334q374xknd5747d2";
};
# From Handbrake
patches = [
./A00-a52-state-t-public.patch
./A01-thread-safe.patch
./A02-imdct-shutup.patch
./A03-automake.patch
];
meta = {
description = "ATSC A/52 stream decoder";
homepage = http://liba52.sourceforge.net/;

View File

@ -1 +1 @@
WGET_ARGS=( https://download.kde.org/stable/frameworks/5.45/ -A '*.tar.xz' )
WGET_ARGS=( https://download.kde.org/stable/frameworks/5.46/ -A '*.tar.xz' )

View File

@ -1,5 +1,5 @@
{
mkDerivation, lib, fetchpatch,
mkDerivation, lib,
extra-cmake-modules, gettext, python,
qtbase, qtdeclarative, qtscript,
}:
@ -13,10 +13,4 @@ mkDerivation {
nativeBuildInputs = [ extra-cmake-modules ];
propagatedNativeBuildInputs = [ gettext python ];
buildInputs = [ qtdeclarative qtscript ];
patches = [
(fetchpatch {
url = "https://phabricator.kde.org/D12216?download=true";
sha256 = "04gpyb11vlgivqjx3lqdwgqb4ss5bphy5zmh65k57bbv4rnlsm15";
})
];
}

View File

@ -3,627 +3,627 @@
{
attica = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/attica-5.45.0.tar.xz";
sha256 = "1vzbajj2ldhg26ssxh0vkahj7fw5v9nhrv000vbxlhsrcczq81n5";
name = "attica-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/attica-5.46.0.tar.xz";
sha256 = "0xj4wn7nd28hfvbcpx4gfgf00vdg3kyfvqy0vk4js49xq14q9j09";
name = "attica-5.46.0.tar.xz";
};
};
baloo = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/baloo-5.45.0.tar.xz";
sha256 = "0zr2pg946q3wc6bhsbngpmca0ylhw8ckfdrs6ym36v7xz3h5fhds";
name = "baloo-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/baloo-5.46.0.tar.xz";
sha256 = "01ww9yqw9zi2r71i8gh87vs20k3kmvc1mq9a3di21zk5glb8hdy3";
name = "baloo-5.46.0.tar.xz";
};
};
bluez-qt = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/bluez-qt-5.45.0.tar.xz";
sha256 = "056xl29yf7bkqrn655c9b2wdx69021q7cz176rx4daid70i8nx49";
name = "bluez-qt-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/bluez-qt-5.46.0.tar.xz";
sha256 = "0hgqxpxx1b2vpr5fxhgk8s4m1njc9i080zqb62bh4vvsdayzib6l";
name = "bluez-qt-5.46.0.tar.xz";
};
};
breeze-icons = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/breeze-icons-5.45.0.tar.xz";
sha256 = "0nzi4wy0p7lkb76nynmwbgnrsrfbhfxn3269mkbqwakq6i4mxsj8";
name = "breeze-icons-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/breeze-icons-5.46.0.tar.xz";
sha256 = "1sq7j0clqc1zm330p49ny76jasn0dvvf1lszclfldg540n376343";
name = "breeze-icons-5.46.0.tar.xz";
};
};
extra-cmake-modules = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/extra-cmake-modules-5.45.0.tar.xz";
sha256 = "0g7njdz6bqjcswq100mb2jr4l1mdicqq24wdw3a8f63syg5rvm76";
name = "extra-cmake-modules-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/extra-cmake-modules-5.46.0.tar.xz";
sha256 = "0xf232d9znln6a7i8mcff4nr0kd5x6qpp1hxbf5pp7g1cwdkxnp5";
name = "extra-cmake-modules-5.46.0.tar.xz";
};
};
frameworkintegration = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/frameworkintegration-5.45.0.tar.xz";
sha256 = "0s300vp674rq2dinhjjsp7v4gmv6ybxsk1r3asv3x789zwz1lr3i";
name = "frameworkintegration-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/frameworkintegration-5.46.0.tar.xz";
sha256 = "1nb5b81b5g1y8crn6mwkjhkf8dzamyfpcl49c3ml34i1d68jbil3";
name = "frameworkintegration-5.46.0.tar.xz";
};
};
kactivities = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kactivities-5.45.0.tar.xz";
sha256 = "0h3hym4am055f9kyhg98gabw00nb1h10b9dvbs3hs3178dyi5gjg";
name = "kactivities-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kactivities-5.46.0.tar.xz";
sha256 = "1a1339i0zag6zsp7mq2w86v7h2fz3bc5jd6w7kb5yphagnwdp9kk";
name = "kactivities-5.46.0.tar.xz";
};
};
kactivities-stats = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kactivities-stats-5.45.0.tar.xz";
sha256 = "0jcvikr7yvjik8zdz46mkrxf2c3ydns194a07njw7hd15x1czqjl";
name = "kactivities-stats-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kactivities-stats-5.46.0.tar.xz";
sha256 = "18mdx8fxrq71rwz7zgx7j30k5ch0yjiyh86nwx9a4yrf6d2ykxwj";
name = "kactivities-stats-5.46.0.tar.xz";
};
};
kapidox = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kapidox-5.45.0.tar.xz";
sha256 = "1996akdnhrky1bk63xraj0qawx6ar1vk6ia4rmdgq0bqjk804g1p";
name = "kapidox-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kapidox-5.46.0.tar.xz";
sha256 = "16kn5mka2mzvqpdfa7w82zgj7vi0ig611qa16flgazzrcbl2m827";
name = "kapidox-5.46.0.tar.xz";
};
};
karchive = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/karchive-5.45.0.tar.xz";
sha256 = "0gl86ybjkmjz6sl4s00j8mi43admj7xnjnmv92q5lngk75k1zbhq";
name = "karchive-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/karchive-5.46.0.tar.xz";
sha256 = "1xphgm8lxicws4bss5svq7r81n1j1zssgfq35vmlms22cpr7pr28";
name = "karchive-5.46.0.tar.xz";
};
};
kauth = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kauth-5.45.0.tar.xz";
sha256 = "1j6pgbkqjw70lnpk84wqi9m81hc55f1z4cfxkd8hhdk578pry56i";
name = "kauth-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kauth-5.46.0.tar.xz";
sha256 = "0w0zvaxzv6bl76hr8wxhg6w0cfp3sdcqdpimspyc7dvddvq3vbr3";
name = "kauth-5.46.0.tar.xz";
};
};
kbookmarks = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kbookmarks-5.45.0.tar.xz";
sha256 = "0ii0gi4vlngp0qypyn2780dnqpkg24k0wb5jpngllrvrf37132md";
name = "kbookmarks-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kbookmarks-5.46.0.tar.xz";
sha256 = "1i7dsw5rskf7fb8bylwnnysppgmrzizw35wl8n5rw2lkk814a7xl";
name = "kbookmarks-5.46.0.tar.xz";
};
};
kcmutils = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kcmutils-5.45.0.tar.xz";
sha256 = "0w082wr9h2rpk9jyads9bwdimhqjl6f68l710miwjglzcmfy4dgq";
name = "kcmutils-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kcmutils-5.46.0.tar.xz";
sha256 = "0bwvsn3fm53d3wqsapakkg0v791vx9kxla973576mlaqpk1zgn1v";
name = "kcmutils-5.46.0.tar.xz";
};
};
kcodecs = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kcodecs-5.45.0.tar.xz";
sha256 = "0si694a64dbb65m7gzcvz474gd61nyvj71wh77chsbsh6hvl1xzx";
name = "kcodecs-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kcodecs-5.46.0.tar.xz";
sha256 = "0ywj61zmfr09nwd9v8x11jnlymkv2r3bvvkbar1p4wc8291n7cfd";
name = "kcodecs-5.46.0.tar.xz";
};
};
kcompletion = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kcompletion-5.45.0.tar.xz";
sha256 = "0lqp0m715hqh8ci1cq7r1y00828ajjzz5y04xpxw78gk9gprakf8";
name = "kcompletion-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kcompletion-5.46.0.tar.xz";
sha256 = "01rj0z26ppv2m3a7h4gh5kz96q877afk79354bvmwqi5w99iqv5a";
name = "kcompletion-5.46.0.tar.xz";
};
};
kconfig = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kconfig-5.45.0.tar.xz";
sha256 = "00r7vh2myh518wfngfr1gmz6svmnvjfx9bxv8px5z1ap0yda181p";
name = "kconfig-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kconfig-5.46.0.tar.xz";
sha256 = "1yx2f81mik3c3hdr424j92drqs3zmsqcjryfyzczxsbllsmf6zma";
name = "kconfig-5.46.0.tar.xz";
};
};
kconfigwidgets = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kconfigwidgets-5.45.0.tar.xz";
sha256 = "0kj0a2x6f27hkzyl7pfz20b0mv4625nxr7iqdq130wdy5x0wv71l";
name = "kconfigwidgets-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kconfigwidgets-5.46.0.tar.xz";
sha256 = "0d4x323j6yrjjf191vf25g4fl9iad652y0kgqdqv4r2sszb7w3bp";
name = "kconfigwidgets-5.46.0.tar.xz";
};
};
kcoreaddons = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kcoreaddons-5.45.0.tar.xz";
sha256 = "15zgz8yhw7z31rljgj63hd949sp48syd1ggbay5nmnsb91ly0z92";
name = "kcoreaddons-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kcoreaddons-5.46.0.tar.xz";
sha256 = "13chb3xh9xyacf72kzvw6rkc9i54p1gifcnk7wx5g223bdym7h3z";
name = "kcoreaddons-5.46.0.tar.xz";
};
};
kcrash = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kcrash-5.45.0.tar.xz";
sha256 = "1ny3m1jqazf7b2qrh4dlprwyf60cddk2c88dxhmzr02a8040gckv";
name = "kcrash-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kcrash-5.46.0.tar.xz";
sha256 = "0d9k9i7lk5cj9j91av87x5gjahzs2lhkk6m1q27675sadp9hb6ih";
name = "kcrash-5.46.0.tar.xz";
};
};
kdbusaddons = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kdbusaddons-5.45.0.tar.xz";
sha256 = "071zr5d95j1cd1djqd5nkfz5n224dmzsbx2a446dsp9liklhqaz6";
name = "kdbusaddons-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kdbusaddons-5.46.0.tar.xz";
sha256 = "07h3n06ld1p3gspky3xsx89vpl46hq5apjqr4f2ccahscmyk1fn3";
name = "kdbusaddons-5.46.0.tar.xz";
};
};
kdeclarative = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kdeclarative-5.45.0.tar.xz";
sha256 = "0h84nla5symfdyrv5dvgs8b1mz0czclipiki16xglzdsja9z9xpl";
name = "kdeclarative-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kdeclarative-5.46.0.tar.xz";
sha256 = "10r20wx36q4kzr973kgwr7j2wq140xiarjawnqpmszcp1gm9qv8c";
name = "kdeclarative-5.46.0.tar.xz";
};
};
kded = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kded-5.45.0.tar.xz";
sha256 = "0qr4ycqqz2g5k9pzllahc7aj1b6fyh0zidvaxvbw600wjr5v3acw";
name = "kded-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kded-5.46.0.tar.xz";
sha256 = "0is8x8r2dpam2m83pylyb3wfjdnn6nnrdaqkpglmbrq3r71n002r";
name = "kded-5.46.0.tar.xz";
};
};
kdelibs4support = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/portingAids/kdelibs4support-5.45.0.tar.xz";
sha256 = "0kil35fj9p8g99jmmkvch326j32wfjqrhypzwg0sa0d74vc2pv5s";
name = "kdelibs4support-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/portingAids/kdelibs4support-5.46.0.tar.xz";
sha256 = "19jjn5dxgayi9m3kglalg473zslbxc0818fqckichxxn4a0wmylz";
name = "kdelibs4support-5.46.0.tar.xz";
};
};
kdesignerplugin = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kdesignerplugin-5.45.0.tar.xz";
sha256 = "0gqvga5akilmqldhzmgjyngbz2dmxmkcjq2g5diq6pijiafsx8kj";
name = "kdesignerplugin-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kdesignerplugin-5.46.0.tar.xz";
sha256 = "11xvl7vjmwv5s9bhkywcapc4h4g8sdrnkwgwzgjf528mfhysi76a";
name = "kdesignerplugin-5.46.0.tar.xz";
};
};
kdesu = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kdesu-5.45.0.tar.xz";
sha256 = "0znncn74vmczcqffc0n6q39q3mk4vsfwj3zn5kglzzsg0x730aly";
name = "kdesu-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kdesu-5.46.0.tar.xz";
sha256 = "0jm4cyy85afq69qaxxzvgfv59y80i76skvwrpa59w8sl173xh8di";
name = "kdesu-5.46.0.tar.xz";
};
};
kdewebkit = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kdewebkit-5.45.0.tar.xz";
sha256 = "0jdxaaysgdgp15yn2fnxf6m22djyvnl4jcyyrjxz7mz0s0lc4pg9";
name = "kdewebkit-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kdewebkit-5.46.0.tar.xz";
sha256 = "0vr4smvj34yycxrwzhaqd8kmh6jfjxf4a0y2c1j5k41m1w0wdppl";
name = "kdewebkit-5.46.0.tar.xz";
};
};
kdnssd = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kdnssd-5.45.0.tar.xz";
sha256 = "181slqgyp7xsg6xz92zris6yjmzysglvkbiyiii4245z1ms9pf0x";
name = "kdnssd-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kdnssd-5.46.0.tar.xz";
sha256 = "1rpf9hjqcv3k8dcwdzdlbyx5shwmjkvck59cgfmzzh6jl81w9z6d";
name = "kdnssd-5.46.0.tar.xz";
};
};
kdoctools = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kdoctools-5.45.0.tar.xz";
sha256 = "0b2bkn9a7nxyynn5cy53kb62khfklayj8fwgfdh3sr5a15yjycm5";
name = "kdoctools-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kdoctools-5.46.0.tar.xz";
sha256 = "1zkxnib2b08nb1mxc7sjij07nk0bbylfrrd7p1h8jrx0m4gip7ik";
name = "kdoctools-5.46.0.tar.xz";
};
};
kemoticons = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kemoticons-5.45.0.tar.xz";
sha256 = "1981430xbypxswayrjf5c9bvk65dd2gsima8k0rvysbcqlnyqq7s";
name = "kemoticons-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kemoticons-5.46.0.tar.xz";
sha256 = "0yxi72x1acjpmkpnkpy8m4y7il095bmmrgnkc9yrax4lmr9hksil";
name = "kemoticons-5.46.0.tar.xz";
};
};
kfilemetadata = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kfilemetadata-5.45.0.tar.xz";
sha256 = "0wcgsbpkvi8pls9zh24z4c328dl7lq8km4r7dag9vw4200bncwa6";
name = "kfilemetadata-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kfilemetadata-5.46.0.tar.xz";
sha256 = "15panysvxn7di38dplslpii9xskich09j9x7s79p43pxyczmq0l3";
name = "kfilemetadata-5.46.0.tar.xz";
};
};
kglobalaccel = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kglobalaccel-5.45.0.tar.xz";
sha256 = "1iwmwpdxrymsyryvp007n3kz2w9syhl4h9jk6x77hprnmwj62cym";
name = "kglobalaccel-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kglobalaccel-5.46.0.tar.xz";
sha256 = "0xnljxkp9rcl3y22mzlz7zlq923ngyvihg6s7mqpfh97ayfh3pvv";
name = "kglobalaccel-5.46.0.tar.xz";
};
};
kguiaddons = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kguiaddons-5.45.0.tar.xz";
sha256 = "16cgi9a9laiwzg2fbp5hl3qlxjmhq0l7dw5kjpkzm7xvlj0rm5cn";
name = "kguiaddons-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kguiaddons-5.46.0.tar.xz";
sha256 = "02x9aqdvy3gl1y25g03cpk340xzhrmdi84v5xw8y7i2xbmgax244";
name = "kguiaddons-5.46.0.tar.xz";
};
};
kholidays = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kholidays-5.45.0.tar.xz";
sha256 = "02bcybzkzp26sz6rjnsh60jmwidmjg8wnixzxs5fk7h8qfygm4ra";
name = "kholidays-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kholidays-5.46.0.tar.xz";
sha256 = "10xb35zinriah3q214qhdwx3riqfj7w0dvn2ds5kcfa070q694yq";
name = "kholidays-5.46.0.tar.xz";
};
};
khtml = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/portingAids/khtml-5.45.0.tar.xz";
sha256 = "1ligyb5hpp53q13r9a2w1xi7b5dc1xqqi9bf3jri01n9pf5d4ynq";
name = "khtml-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/portingAids/khtml-5.46.0.tar.xz";
sha256 = "0cdq8y09qbciwaxvkln03n9jy91li0yp2g440sd580hd3n4zvs09";
name = "khtml-5.46.0.tar.xz";
};
};
ki18n = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/ki18n-5.45.0.tar.xz";
sha256 = "1xjwwlr46x0wr26xn4z086rlzm2bgzyi1ck91cbcc0jv6p6n43mp";
name = "ki18n-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/ki18n-5.46.0.tar.xz";
sha256 = "0lwjmxkfqhxwjm0m86f0saa3irzv70psl5y8pv1qib82q3fv73ns";
name = "ki18n-5.46.0.tar.xz";
};
};
kiconthemes = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kiconthemes-5.45.0.tar.xz";
sha256 = "0wir8drhv5lx00f4n984yh5xavpi75vg1vpyrf68dd490klwzg45";
name = "kiconthemes-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kiconthemes-5.46.0.tar.xz";
sha256 = "1y8f2piy258n0k8jrlyhgflafxcqax18fi46719av29ls48cgcap";
name = "kiconthemes-5.46.0.tar.xz";
};
};
kidletime = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kidletime-5.45.0.tar.xz";
sha256 = "0057az4a9jvn120j94jsmf78lxw03c6s534mjn4r8ns9j46c060i";
name = "kidletime-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kidletime-5.46.0.tar.xz";
sha256 = "0hvgvmgfrnfmfgi19mjc1cg31yli7pzr9fq2ny9pk63is6zgq3vm";
name = "kidletime-5.46.0.tar.xz";
};
};
kimageformats = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kimageformats-5.45.0.tar.xz";
sha256 = "0kdcrlpj56sw9gy9wf6dxlrsa11k3hv6ayvv6irry3iv1akfx7yp";
name = "kimageformats-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kimageformats-5.46.0.tar.xz";
sha256 = "0gkmd5ma0dh06vdr8kzw5v9hqw6xqiizzvq7aya2y9lk42p4hay3";
name = "kimageformats-5.46.0.tar.xz";
};
};
kinit = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kinit-5.45.0.tar.xz";
sha256 = "0phqwp60368vynnkh0hl3kdz6p0kisa5ab6fvgvks5p9h1nb6l2h";
name = "kinit-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kinit-5.46.0.tar.xz";
sha256 = "0szpvni3ff50i5w4c2jdi8wsb2i4dfhdna7wcmrzc5qd2l62yi6m";
name = "kinit-5.46.0.tar.xz";
};
};
kio = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kio-5.45.0.tar.xz";
sha256 = "05bb27jfinpfdh3vz76prkdvpp574sx1sr41b6qk267y37l14x9y";
name = "kio-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kio-5.46.0.tar.xz";
sha256 = "19fkijl7h1p92sngsqypsd2ni9qld9cxwh8c7diq0ybp8qzpjspb";
name = "kio-5.46.0.tar.xz";
};
};
kirigami2 = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kirigami2-5.45.0.tar.xz";
sha256 = "00miz1zwhq5ikwyqvvl6ha8w1dra7rxgw59wfg1ac74kjpb964ng";
name = "kirigami2-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kirigami2-5.46.0.tar.xz";
sha256 = "1d6w4kc6kf0jlgji83r8zn0r5rdggygi28938wyb3wz4pgaz8m8d";
name = "kirigami2-5.46.0.tar.xz";
};
};
kitemmodels = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kitemmodels-5.45.0.tar.xz";
sha256 = "08mbvs6lcfwbprk51fjswig0sprn5pcgrhy34qbbnim5ijf8gkw1";
name = "kitemmodels-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kitemmodels-5.46.0.tar.xz";
sha256 = "0xy8bqbaqnkxk34p7hfslm42dm98ka86fwi77pz04gw9r6048wq2";
name = "kitemmodels-5.46.0.tar.xz";
};
};
kitemviews = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kitemviews-5.45.0.tar.xz";
sha256 = "19cm7vxkp7qiqhjj7ma2nx4lvp2hiffnakiic26jqzb9sb0vkq2n";
name = "kitemviews-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kitemviews-5.46.0.tar.xz";
sha256 = "1ni3c2ivqr5vczl7z5707nv469xbwys1vz625ypwfh8py2b9nnwz";
name = "kitemviews-5.46.0.tar.xz";
};
};
kjobwidgets = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kjobwidgets-5.45.0.tar.xz";
sha256 = "1946wqa6dpi82771nw70nz123w1xa9znhn9kgb0q5ypzc89498gj";
name = "kjobwidgets-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kjobwidgets-5.46.0.tar.xz";
sha256 = "129mxv7c0fmqdmzg1j8r0cb8sr9masrmkjl4dp8i6yark49k61hf";
name = "kjobwidgets-5.46.0.tar.xz";
};
};
kjs = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/portingAids/kjs-5.45.0.tar.xz";
sha256 = "1xmc57fv3692vk0pzmrs1wyzgd69dhp6by0i1kw4a76w8h0lh5sr";
name = "kjs-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/portingAids/kjs-5.46.0.tar.xz";
sha256 = "002k1jbcwxyv8dcmz3x4m7zv1ry2gdzg5gl466vf5hlc5cwgjac5";
name = "kjs-5.46.0.tar.xz";
};
};
kjsembed = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/portingAids/kjsembed-5.45.0.tar.xz";
sha256 = "15jlbr5nw3c3p4cylr01c6w8isf78wnljsym8fsl9513k8cfabif";
name = "kjsembed-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/portingAids/kjsembed-5.46.0.tar.xz";
sha256 = "13l2i0i8qlzs993nfbcgaijkhy7w9npn5358d5hfkxjlay7imcq2";
name = "kjsembed-5.46.0.tar.xz";
};
};
kmediaplayer = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/portingAids/kmediaplayer-5.45.0.tar.xz";
sha256 = "0p3fm448xdcw7qmpbadx9rb6q1zx8bbap0a3xm11ni27s7dpvwgf";
name = "kmediaplayer-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/portingAids/kmediaplayer-5.46.0.tar.xz";
sha256 = "0y4cn63fa5g35vrdx2hfhrw1fzwg5k3lxgx84r3c33cybxswcigi";
name = "kmediaplayer-5.46.0.tar.xz";
};
};
knewstuff = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/knewstuff-5.45.0.tar.xz";
sha256 = "0jk2zsxkj558rf2ar120mljjv13f261js9p27272wr6ily55navn";
name = "knewstuff-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/knewstuff-5.46.0.tar.xz";
sha256 = "12r38m7p86b2dfhp8nybm335cvizma4p26gxrwn7jg1kcvbg3hf5";
name = "knewstuff-5.46.0.tar.xz";
};
};
knotifications = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/knotifications-5.45.0.tar.xz";
sha256 = "0rnqlfg7n86g7fdmx32l337xjr03g1ri88dg94wci3v9rpffy839";
name = "knotifications-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/knotifications-5.46.0.tar.xz";
sha256 = "0hyf3wv3iy3v7l134pmb623bfa9j578rdymhz4sm5fix4mv23g5z";
name = "knotifications-5.46.0.tar.xz";
};
};
knotifyconfig = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/knotifyconfig-5.45.0.tar.xz";
sha256 = "0qxfzrw8pmnm6jrl98d50d12x9azgj3f9bin2irim2w6zcsfqs37";
name = "knotifyconfig-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/knotifyconfig-5.46.0.tar.xz";
sha256 = "0wr0kliagkbpv89h9qviib6b16s2cw5j9jq4gpk3j5ij9zli4lkj";
name = "knotifyconfig-5.46.0.tar.xz";
};
};
kpackage = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kpackage-5.45.0.tar.xz";
sha256 = "0ddmpn688dil3sdlr91iqczi52rz58nwifij00c0gvj5pgp6agvg";
name = "kpackage-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kpackage-5.46.0.tar.xz";
sha256 = "1q45zjh0a741f1w1g0vggbcygzzvkzpwj0iy13fwhgf4g7qrdp8c";
name = "kpackage-5.46.0.tar.xz";
};
};
kparts = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kparts-5.45.0.tar.xz";
sha256 = "0mhmy6sq21c4rgl4lfz9sr3r4zhzn2wfapm3g7qzf8554rinzs5z";
name = "kparts-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kparts-5.46.0.tar.xz";
sha256 = "1hr0hy1jsi00rfnjy1wf59skricib6cc0c4bw0h0gw0rdy1vv80j";
name = "kparts-5.46.0.tar.xz";
};
};
kpeople = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kpeople-5.45.0.tar.xz";
sha256 = "1dm8nb9ckivww867541w6bfjvhg6hi64drzx61ak1ix3ha6n24g1";
name = "kpeople-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kpeople-5.46.0.tar.xz";
sha256 = "1gkm9ylwm4ajpw6lv78qy4zkmqirm4xnrf0nld3x7jrbpiadfrni";
name = "kpeople-5.46.0.tar.xz";
};
};
kplotting = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kplotting-5.45.0.tar.xz";
sha256 = "1fdvbd57f8aikgi6xa5qb16a32398zkn83xb6vq5rjd3jrzyk4bi";
name = "kplotting-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kplotting-5.46.0.tar.xz";
sha256 = "1vkwv2khww1v13r2ys06nfb6c0fwyn152wrfc9vqzcdcv6znq48n";
name = "kplotting-5.46.0.tar.xz";
};
};
kpty = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kpty-5.45.0.tar.xz";
sha256 = "0g8daxvybiraax0395sb05468qfzdg0cjgq810kz78512carsg7f";
name = "kpty-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kpty-5.46.0.tar.xz";
sha256 = "1m1spwgrgjiazkxwddh5xcii482bvxf015x70wnkyyygilbn6871";
name = "kpty-5.46.0.tar.xz";
};
};
kross = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/portingAids/kross-5.45.0.tar.xz";
sha256 = "1s8y36cn9nj5lqf8f667yyqdk0m4ankqb0fr3s9c7llb87ca8iqn";
name = "kross-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/portingAids/kross-5.46.0.tar.xz";
sha256 = "0wnj01ml3j3ij4f6plw8d1by8k9fkbslq0finiyxrn64zqfkr1sd";
name = "kross-5.46.0.tar.xz";
};
};
krunner = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/krunner-5.45.0.tar.xz";
sha256 = "18rq5nzdxr8x55s3hqp5b3mibfa51sbybirhdp49igz9x2la2j9x";
name = "krunner-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/krunner-5.46.0.tar.xz";
sha256 = "1nvcprp1b5npzvcdbwzi1yn6953f8kjyfnavhjjp9vfafp4jgdca";
name = "krunner-5.46.0.tar.xz";
};
};
kservice = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kservice-5.45.0.tar.xz";
sha256 = "0qrawj6hvy6q68k278nqkmdnjqk1cwr6iym9wmiq3lphsab08nl7";
name = "kservice-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kservice-5.46.0.tar.xz";
sha256 = "0q502wqvqb61gwy07byg35nk9ac12d02hhqa0qhil6qkv9f7dx57";
name = "kservice-5.46.0.tar.xz";
};
};
ktexteditor = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/ktexteditor-5.45.0.tar.xz";
sha256 = "1gp5f9v01f0824j96wmv7a48561wkcndnk75q1qdbkknxk4cmnnp";
name = "ktexteditor-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/ktexteditor-5.46.0.tar.xz";
sha256 = "1yjyni3f123i2yx20gj13yw0v6cqwwdvk6x8f3maqqdzrfnqmm8b";
name = "ktexteditor-5.46.0.tar.xz";
};
};
ktextwidgets = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/ktextwidgets-5.45.0.tar.xz";
sha256 = "1r76qvn02m6b1rvzmp966xfxr6ifflzd7g7ln0sxccsd9c46lh2b";
name = "ktextwidgets-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/ktextwidgets-5.46.0.tar.xz";
sha256 = "1bniracp5q6p4k1ji0gn1a51sylbgxh0bqdlrfkd953mp35rh1wf";
name = "ktextwidgets-5.46.0.tar.xz";
};
};
kunitconversion = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kunitconversion-5.45.0.tar.xz";
sha256 = "0alm5s3c6g3w66gzii7jjsb0cn4naiimsnm5dag6idhix79wa1kr";
name = "kunitconversion-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kunitconversion-5.46.0.tar.xz";
sha256 = "14db0835zd375sn3d4v6d2pa5yp67gn9p8dxfs8111minmraqk43";
name = "kunitconversion-5.46.0.tar.xz";
};
};
kwallet = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kwallet-5.45.0.tar.xz";
sha256 = "1yis49k3wyk8vhmdhgjrn42jq5kah5z7dg8wgy09dhq61w50sdi9";
name = "kwallet-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kwallet-5.46.0.tar.xz";
sha256 = "15fvbyfdbmdq7zvsbj1c7xzyyhfd5mhv9zvgiss00ranhghsbbzh";
name = "kwallet-5.46.0.tar.xz";
};
};
kwayland = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kwayland-5.45.0.tar.xz";
sha256 = "0pk242h8ggd3szyw6jlk0zz8q4rw4ppbbidkilzv3lx340jr1qkq";
name = "kwayland-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kwayland-5.46.0.tar.xz";
sha256 = "1dwvxhpa93k9l2iqbpyf6s7hkmi91kc56hm0v5q6k2mgb43g32nj";
name = "kwayland-5.46.0.tar.xz";
};
};
kwidgetsaddons = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kwidgetsaddons-5.45.0.tar.xz";
sha256 = "0ywya6fa0q7vdwj7almkvdi16m839c48ma7j9sd87rc0dhigv0p0";
name = "kwidgetsaddons-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kwidgetsaddons-5.46.0.tar.xz";
sha256 = "0h8n4hiyzynpg59bfrk3wgdc1w0b3pdbvimykgjvrrmn4wi6h8f9";
name = "kwidgetsaddons-5.46.0.tar.xz";
};
};
kwindowsystem = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kwindowsystem-5.45.0.tar.xz";
sha256 = "0139413wk8ifyfwadln87ik55jrp5bccy3lbz6ya191fygglx16k";
name = "kwindowsystem-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kwindowsystem-5.46.0.tar.xz";
sha256 = "0rxhi8wjjxkqsspx0mqn5049f75s3jihkp73hdgxwwdp1qc66kx3";
name = "kwindowsystem-5.46.0.tar.xz";
};
};
kxmlgui = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kxmlgui-5.45.0.tar.xz";
sha256 = "1vb5izjp27qb9685haidagjg2p14a335fwzagzal20z3j2a7j3hv";
name = "kxmlgui-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kxmlgui-5.46.0.tar.xz";
sha256 = "0wwxry3kf2xsw40dhjpa8gh1qbh4wdnd1hp1g9mmh8l0wpfv289l";
name = "kxmlgui-5.46.0.tar.xz";
};
};
kxmlrpcclient = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/kxmlrpcclient-5.45.0.tar.xz";
sha256 = "0kfkai1cc4xb7vcspbmf6zd951dfz2yxiyjdar4d21s5krvcfh5l";
name = "kxmlrpcclient-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/kxmlrpcclient-5.46.0.tar.xz";
sha256 = "05wf844ipikikhxcri0xpdwfxs8h3m677frsqkimf778g8vf7crh";
name = "kxmlrpcclient-5.46.0.tar.xz";
};
};
modemmanager-qt = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/modemmanager-qt-5.45.0.tar.xz";
sha256 = "16qdvy19q5pjk82amn3mncwgvk3g2qrbdzl9wpfxhqcny18xbwdd";
name = "modemmanager-qt-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/modemmanager-qt-5.46.0.tar.xz";
sha256 = "1h9hj1v4js02gyxbh1cizz69vh8pdwb93k9pi334a2s0lxbn5205";
name = "modemmanager-qt-5.46.0.tar.xz";
};
};
networkmanager-qt = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/networkmanager-qt-5.45.0.tar.xz";
sha256 = "00ipzc92v229bz9vv6kga37qhpcnqrxn2h47v9n5myfr1p6acgw0";
name = "networkmanager-qt-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/networkmanager-qt-5.46.0.tar.xz";
sha256 = "1pp5sgp76fjd62iqki3cc7b2drmfgq2fjhab9ai44r852ydgkzpn";
name = "networkmanager-qt-5.46.0.tar.xz";
};
};
oxygen-icons5 = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/oxygen-icons5-5.45.0.tar.xz";
sha256 = "1va0296118x7apb7idjf0qjx5f0flamspmzicc03znbh4hx1fxyc";
name = "oxygen-icons5-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/oxygen-icons5-5.46.0.tar.xz";
sha256 = "141qhbk6rakvh2clxyfhinzka3ap99ac8y90qplgss31ww0wxbb5";
name = "oxygen-icons5-5.46.0.tar.xz";
};
};
plasma-framework = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/plasma-framework-5.45.0.tar.xz";
sha256 = "1db8pyq1bdkswi59aihaqgas3xzzlfsfd9yn34g4q00gzc17ird5";
name = "plasma-framework-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/plasma-framework-5.46.0.tar.xz";
sha256 = "0zpv6b128ll9yf23ys8hv35a95igmlbk3zid5k4385b6h0j4h367";
name = "plasma-framework-5.46.0.tar.xz";
};
};
prison = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/prison-5.45.0.tar.xz";
sha256 = "1g6rnyx84sz28cf427y9yp0lcbdhrlgx4ns80jz34gyzcgi4bxi0";
name = "prison-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/prison-5.46.0.tar.xz";
sha256 = "1508pcqvyjfqg0yxk2jx32cqlvvz658z001n6iaf4c7hwclkyspg";
name = "prison-5.46.0.tar.xz";
};
};
purpose = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/purpose-5.45.0.tar.xz";
sha256 = "0mfx2gl78w2wwkykl0zch88i7d10zq5cm2xqwxjfpkpdjwb7pflb";
name = "purpose-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/purpose-5.46.0.tar.xz";
sha256 = "1mrssw484hb3nk9hafys0ns1ixd8h3l6m8qnyry9ky964xqmbkg1";
name = "purpose-5.46.0.tar.xz";
};
};
qqc2-desktop-style = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/qqc2-desktop-style-5.45.0.tar.xz";
sha256 = "1dc20wkh2cfyhd7wkg1v1b5f6asz70m8ksml6r5hzs807sdqvrsa";
name = "qqc2-desktop-style-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/qqc2-desktop-style-5.46.0.tar.xz";
sha256 = "0hfl0qk4nadz2jykn0xaphppiqva0h83br4ym6zf2wc3c5sd6w91";
name = "qqc2-desktop-style-5.46.0.tar.xz";
};
};
solid = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/solid-5.45.0.tar.xz";
sha256 = "175hsj2hdsdnz4wkg1l56275390nn1kjpwcyb7ryzzqabn7hdqmd";
name = "solid-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/solid-5.46.0.tar.xz";
sha256 = "0ywx5nbms6nk7dmcbbgjfm8w3lchhf90wlhv077yhmxlnqciv3im";
name = "solid-5.46.0.tar.xz";
};
};
sonnet = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/sonnet-5.45.0.tar.xz";
sha256 = "0msrwxfvc4vr4xqpwavnj0w4cwkflfjql8nhgm5bvk6cpcxs92ss";
name = "sonnet-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/sonnet-5.46.0.tar.xz";
sha256 = "13jmyiqfwcc7r5y2mb2hwwnn28bq1l0pjlfv8g963r0agzyap424";
name = "sonnet-5.46.0.tar.xz";
};
};
syntax-highlighting = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/syntax-highlighting-5.45.0.tar.xz";
sha256 = "1v73jzansk6z0kwq65gxvkcm7vcmgw2jvl7916aqzj8xjx8kp433";
name = "syntax-highlighting-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/syntax-highlighting-5.46.0.tar.xz";
sha256 = "18b7v6l3ckqkhp5mxpfvyzl89yl3w9hcqbvfvbzzr9pd0lg09xxx";
name = "syntax-highlighting-5.46.0.tar.xz";
};
};
threadweaver = {
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.45/threadweaver-5.45.0.tar.xz";
sha256 = "16s1pgyxhs6v1w7pwg3rr97xkd24xmf23x24pcm15ybd9g38a5yp";
name = "threadweaver-5.45.0.tar.xz";
url = "${mirror}/stable/frameworks/5.46/threadweaver-5.46.0.tar.xz";
sha256 = "0zndyxj3kkxs4mlznykf3lm5bq3mmwanxd80pb7y0rymnzsd2n7q";
name = "threadweaver-5.46.0.tar.xz";
};
};
}

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation {
name = "libdvdnav-4.2.1";
src = fetchurl {
url = http://dvdnav.mplayerhq.hu/releases/libdvdnav-4.2.1.tar.xz;
sha256 = "7fca272ecc3241b6de41bbbf7ac9a303ba25cb9e0c82aa23901d3104887f2372";
@ -17,9 +17,6 @@ stdenv.mkDerivation {
mkdir -p $out
'';
# From Handbrake
patches = [ ./A08-dvdnav-dup.patch ./P00-mingw-no-examples.patch ];
meta = {
homepage = http://dvdnav.mplayerhq.hu/;
description = "A library that implements DVD navigation features such as DVD menus";

View File

@ -1,137 +0,0 @@
Index: src/dvdnav.c
===================================================================
--- libdvdnav.orig/src/dvdnav.c (revision 1168)
+++ libdvdnav/src/dvdnav.c (working copy)
@@ -71,6 +71,67 @@
return DVDNAV_STATUS_OK;
}
+dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src) {
+ dvdnav_t *this;
+
+ (*dest) = NULL;
+ this = (dvdnav_t*)malloc(sizeof(dvdnav_t));
+ if(!this)
+ return DVDNAV_STATUS_ERR;
+
+ memcpy(this, src, sizeof(dvdnav_t));
+ this->file = NULL;
+
+ pthread_mutex_init(&this->vm_lock, NULL);
+
+ this->vm = vm_new_copy(src->vm);
+ if(!this->vm) {
+ printerr("Error initialising the DVD VM.");
+ pthread_mutex_destroy(&this->vm_lock);
+ free(this);
+ return DVDNAV_STATUS_ERR;
+ }
+
+ /* Start the read-ahead cache. */
+ this->cache = dvdnav_read_cache_new(this);
+
+ (*dest) = this;
+ return DVDNAV_STATUS_OK;
+}
+
+dvdnav_status_t dvdnav_free_dup(dvdnav_t *this) {
+
+#ifdef LOG_DEBUG
+ fprintf(MSG_OUT, "libdvdnav: free_dup:called\n");
+#endif
+
+ if (this->file) {
+ pthread_mutex_lock(&this->vm_lock);
+ DVDCloseFile(this->file);
+#ifdef LOG_DEBUG
+ fprintf(MSG_OUT, "libdvdnav: close:file closing\n");
+#endif
+ this->file = NULL;
+ pthread_mutex_unlock(&this->vm_lock);
+ }
+
+ /* Free the VM */
+ if(this->vm)
+ vm_free_copy(this->vm);
+
+ pthread_mutex_destroy(&this->vm_lock);
+
+ /* We leave the final freeing of the entire structure to the cache,
+ * because we don't know, if there are still buffers out in the wild,
+ * that must return first. */
+ if(this->cache)
+ dvdnav_read_cache_free(this->cache);
+ else
+ free(this);
+
+ return DVDNAV_STATUS_OK;
+}
+
dvdnav_status_t dvdnav_open(dvdnav_t** dest, const char *path) {
dvdnav_t *this;
struct timeval time;
Index: src/dvdnav/dvdnav.h
===================================================================
--- libdvdnav.orig/src/dvdnav/dvdnav.h (revision 1168)
+++ libdvdnav/src/dvdnav.h (working copy)
@@ -89,6 +89,9 @@
*/
dvdnav_status_t dvdnav_open(dvdnav_t **dest, const char *path);
+dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src);
+dvdnav_status_t dvdnav_free_dup(dvdnav_t *this);
+
/*
* Closes a dvdnav_t previously opened with dvdnav_open(), freeing any
* memory associated with it.
Index: src/vm/vm.c
===================================================================
--- libdvdnav.orig/src/vm/vm.c (revision 1168)
+++ libdvdnav/src/vm/vm.c (working copy)
@@ -96,6 +98,7 @@
static pgcit_t* get_MENU_PGCIT(vm_t *vm, ifo_handle_t *h, uint16_t lang);
static pgcit_t* get_PGCIT(vm_t *vm);
+static void vm_close(vm_t *vm);
/* Helper functions */
@@ -262,7 +265,7 @@
}
void vm_free_vm(vm_t *vm) {
- vm_stop(vm);
+ vm_close(vm);
free(vm);
}
@@ -289,12 +292,20 @@
int vm_start(vm_t *vm) {
/* Set pgc to FP (First Play) pgc */
+ if (vm->stopped) {
+ vm_reset(vm, NULL);
+ vm->stopped = 0;
+ }
set_FP_PGC(vm);
process_command(vm, play_PGC(vm));
return !vm->stopped;
}
void vm_stop(vm_t *vm) {
+ vm->stopped = 1;
+}
+
+static void vm_close(vm_t *vm) {
if(vm->vmgi) {
ifoClose(vm->vmgi);
vm->vmgi=NULL;
@@ -346,7 +357,7 @@
if (vm->dvd && dvdroot) {
/* a new dvd device has been requested */
- vm_stop(vm);
+ vm_close(vm);
}
if (!vm->dvd) {
vm->dvd = DVDOpen(dvdroot);

View File

@ -1,21 +0,0 @@
diff -Naur libdvdnav.orig/Makefile.am libdvdnav/Makefile.am
--- libdvdnav.orig/Makefile.am 2008-10-03 16:11:46.000000000 -0400
+++ libdvdnav/Makefile.am 2009-04-24 02:53:15.000000000 -0400
@@ -1,7 +1,7 @@
include $(top_srcdir)/misc/Makefile.common
-SUBDIRS = src examples doc misc m4
+SUBDIRS = src doc misc m4
EXTRA_DIST = autogen.sh \
AUTHORS \
diff -Naur libdvdnav.orig/configure.ac libdvdnav/configure.ac
--- libdvdnav.orig/configure.ac 2009-01-08 17:57:11.000000000 -0500
+++ libdvdnav/configure.ac 2009-04-24 02:52:34.000000000 -0400
@@ -252,5 +252,4 @@
misc/relchk.sh
m4/Makefile
doc/Makefile
-examples/Makefile
])

View File

@ -1,12 +0,0 @@
diff --git a/include/libmkv.h b/include/libmkv.h
index 146a91f..f03d608 100644
--- a/include/libmkv.h
+++ b/include/libmkv.h
@@ -94,6 +94,7 @@ extern "C" {
#define MK_SUBTITLE_USF "S_TEXT/USF"
#define MK_SUBTITLE_VOBSUB "S_VOBSUB"
#define MK_SUBTITLE_BMP "S_IMAGE/BMP"
+#define MK_SUBTITLE_PGS "S_HDMV/PGS"
/* Official Tags */
#define MK_TAG_TITLE "TITLE"

View File

@ -1,28 +0,0 @@
diff --git a/include/libmkv.h b/include/libmkv.h
index 146a91f..f03d608 100644
--- a/include/libmkv.h
+++ b/include/libmkv.h
@@ -203,6 +204,7 @@ struct mk_TrackConfig_s {
} video;
struct {
float samplingFreq; /* Sampling Frequency in Hz */
+ float outputSamplingFreq; /* Playback Sampling Frequency in Hz (e.g. for AAC w/SBR) */
unsigned channels; /* Number of channels for this track */
unsigned bitDepth; /* Bits per sample (PCM) */
} audio;
diff --git a/src/tracks.c b/src/tracks.c
index f9c7e48..a2a60ca 100644
--- a/src/tracks.c
+++ b/src/tracks.c
@@ -174,6 +174,11 @@ mk_Track *mk_createTrack(mk_Writer *w, mk_TrackConfig *tc)
/* SamplingFrequency */
if (mk_writeFloat(v, MATROSKA_ID_AUDIOSAMPLINGFREQ, tc->extra.audio.samplingFreq) < 0)
return NULL;
+ if (tc->extra.audio.outputSamplingFreq) {
+ /* Output SamplingFrequency */
+ if (mk_writeFloat(v, MATROSKA_ID_AUDIOOUTSAMPLINGFREQ, tc->extra.audio.outputSamplingFreq) < 0)
+ return NULL;
+ }
/* Channels */
if (mk_writeUInt(v, MATROSKA_ID_AUDIOCHANNELS, tc->extra.audio.channels) < 0)
return NULL;

View File

@ -1,24 +0,0 @@
--- libmkv.orig/src/matroska.c 2009-01-12 23:14:26.000000000 -0800
+++ libmkv/src/matroska.c 2009-03-25 15:22:30.000000000 -0700
@@ -27,6 +27,11 @@
#include <sys/time.h>
+#if defined( __MINGW32__ )
+#undef fseeko
+#define fseeko fseeko64
+#endif
+
#define RESERVED_SEEKHEAD 0x100
/* 256 bytes should be enough room for our Seek entries. */
#define RESERVED_CHAPTERS 0x800
@@ -34,7 +39,7 @@
int mk_seekFile(mk_Writer *w, uint64_t pos)
{
- if (fseek(w->fp, pos, SEEK_SET))
+ if (fseeko(w->fp, pos, SEEK_SET))
return -1;
w->f_pos = pos;

View File

@ -1,26 +1,19 @@
{ stdenv, fetchgit, libtool, autoconf, automake }:
stdenv.mkDerivation rec {
name = "libmkv-0.6.5.1p2";
name = "libmkv-${version}";
version = "0.6.5.1";
src = fetchgit {
url = https://github.com/saintdev/libmkv.git;
rev = "refs/tags/0.6.5.1";
rev = "refs/tags/${version}";
sha256 = "0pr9q7yprndl8d15ir7i7cznvmf1yqpvnsyivv763n6wryssq6dl";
};
nativeBuildInputs = [ libtool autoconf automake ];
# TODO fix library version
preConfigure = "sh bootstrap.sh";
# From Handbrake
patches = [
./A01-hbmv-pgs.patch
./A02-audio-out-sampling-freq.patch
./P00-mingw-large-file.patch
];
meta = {
homepage = https://github.com/saintdev/libmkv;
license = stdenv.lib.licenses.gpl2;

View File

@ -1,14 +0,0 @@
diff -Naur mp4v2-trunk-r355/src/mp4atom.cpp mp4v2-trunk-r355/src/mp4atom.cpp
--- mp4v2-trunk-r355/src/mp4atom.cpp 2012-02-21 19:40:03.000000000 +0100
+++ mp4v2-trunk-r355/src/mp4atom.cpp 2012-02-21 19:36:38.000000000 +0100
@@ -543,6 +543,10 @@
m_pFile->SetPosition(m_start + 8);
m_pFile->WriteUInt64(m_size);
} else {
+ if (!(m_size <= (uint64_t)0xFFFFFFFF)) {
+ // Let the user know what the following assert is all about
+ fprintf(stderr, "MP4ERROR: File size exceeded 4 GB; output unplayable. Enable \"Large file size\" to fix it.\n");
+ }
ASSERT(m_size <= (uint64_t)0xFFFFFFFF);
m_pFile->SetPosition(m_start);
m_pFile->WriteUInt32(m_size);

View File

@ -9,10 +9,6 @@ stdenv.mkDerivation rec {
};
patches = [
# From Handbrake
# mp4v2 doesn't seem to be actively maintained any more :-/
./A02-meaningful-4gb-warning.patch
(fetchurl {
name = "gcc-7.patch";
url = "https://src.fedoraproject.org/cgit/rpms/libmp4v2.git/plain/"

View File

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, cmake, libminc, bicpl, freeglut, mesa_glu }:
stdenv.mkDerivation rec {
pname = "bicgl";
name = "${pname}-2017-09-10";
owner = "BIC-MNI";
src = fetchFromGitHub {
inherit owner;
repo = pname;
rev = "b7f7e52d1039d6202a93d9055f516186033656cc";
sha256 = "0lzirdi1mf4yl8srq7vjn746sbydz7h0wjh7wy8gycy6hq04qrg4";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ libminc bicpl freeglut mesa_glu ];
cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib" "-DBICPL_DIR=${bicpl}/lib" ];
meta = with stdenv.lib; {
homepage = "https://github.com/${owner}/${pname}";
description = "Brain Imaging Centre graphics library";
maintainers = with maintainers; [ bcdarwin ];
platforms = platforms.unix;
license = licenses.free;
};
}

View File

@ -0,0 +1,24 @@
{ lib, buildPythonPackage, fetchPypi, gitdb2, mock, nose, ddt }:
buildPythonPackage rec {
version = "2.1.9";
pname = "GitPython";
src = fetchPypi {
inherit pname version;
sha256 = "0a9in1jfv9ssxhckl6sasw45bhm762y2r5ikgb2pk2g8yqdc6z64";
};
checkInputs = [ mock nose ddt ];
propagatedBuildInputs = [ gitdb2 ];
# Tests require a git repo
doCheck = false;
meta = {
description = "Python Git Library";
maintainers = [ ];
homepage = https://github.com/gitpython-developers/GitPython;
license = lib.licenses.bsd3;
};
}

View File

@ -0,0 +1,23 @@
{ lib, buildPythonPackage, fetchPypi, smmap }:
buildPythonPackage rec {
pname = "gitdb";
version = "0.6.4";
src = fetchPypi {
inherit pname version;
sha256 = "0n4n2c7rxph9vs2l6xlafyda5x1mdr8xy16r9s3jwnh3pqkvrsx3";
};
propagatedBuildInputs = [ smmap ];
# Bunch of tests fail because they need an actual git repo
doCheck = false;
meta = {
description = "Git Object Database";
maintainers = [ ];
homepage = https://github.com/gitpython-developers/gitdb;
license = lib.licenses.bsd3;
};
}

View File

@ -0,0 +1,23 @@
{ lib, buildPythonPackage, fetchPypi, smmap2 }:
buildPythonPackage rec {
pname = "gitdb2";
version = "2.0.3";
src = fetchPypi {
inherit pname version;
sha256 = "02azg62mr99b7cllyjrly77np3vw32y8nrxpa2xjapiyaga2j3mn";
};
propagatedBuildInputs = [ smmap2 ];
# Bunch of tests fail because they need an actual git repo
doCheck = false;
meta = {
description = "Git Object Database";
maintainers = [ ];
homepage = https://github.com/gitpython-developers/gitdb;
license = lib.licenses.bsd3;
};
}

View File

@ -0,0 +1,28 @@
{ lib, buildPythonPackage, fetchPypi, isPy27, futures, mock, pytest }:
buildPythonPackage rec {
pname = "isort";
version = "4.3.4";
src = fetchPypi {
inherit pname version;
sha256 = "1y0yfv56cqyh9wyg7kxxv9y5wmfgcq18n7a49mp7xmzka2bhxi5r";
};
propagatedBuildInputs = lib.optional isPy27 futures;
checkInputs = [ mock pytest ];
checkPhase = ''
py.test test_isort.py -k "not test_long_line_comments \
and not test_import_case_produces_inconsistent_results_issue_472 \
and not test_no_extra_lines_issue_557"
'';
meta = with lib; {
description = "A Python utility / library to sort Python imports";
homepage = https://github.com/timothycrosley/isort;
license = licenses.mit;
maintainers = with maintainers; [ couchemar nand0p ];
};
}

View File

@ -0,0 +1,19 @@
{ lib, fetchPypi, buildPythonPackage, nosexcover }:
buildPythonPackage rec {
pname = "smmap";
version = "0.9.0";
src = fetchPypi {
inherit pname version;
sha256 = "0qlx25f6n2n9ff37w9gg62f217fzj16xlbh0pkz0lpxxjys64aqf";
};
checkInputs = [ nosexcover ];
meta = {
description = "A pure python implementation of a sliding window memory map manager";
homepage = https://github.com/gitpython-developers/smmap;
maintainers = [ ];
license = lib.licenses.bsd3;
};
}

View File

@ -0,0 +1,20 @@
{ lib, fetchPypi, buildPythonPackage, nosexcover }:
buildPythonPackage rec {
pname = "smmap2";
version = "2.0.3";
src = fetchPypi {
inherit pname version;
sha256 = "1hvn28p3zvxa98sbi9lrqvv2ps4q284j4jq9a619zw0m7yv0sly7";
};
checkInputs = [ nosexcover ];
meta = {
description = "A pure python implementation of a sliding window memory map manager";
homepage = https://pypi.org/project/smmap2;
maintainers = [ ];
license = lib.licenses.bsd3;
};
}

View File

@ -75,25 +75,16 @@ stdenv.mkDerivation ({
//
(if !headersOnly && buildTarget != null
then assert installTarget != null; {
# Use the default `buildPhase' and `installPhase' so that the usual hooks
# can still be used.
buildFlags = buildTarget;
installTargets = installTarget;
}
else {})
stdenv.lib.optionalAttrs (!headersOnly && buildTarget != null) {
# Use the default `buildPhase' and `installPhase' so that the usual hooks
# can still be used.
buildFlags = buildTarget;
installTargets = assert installTarget != null; installTarget;
}
//
(if headersOnly
then { dontBuild = true; installPhase = "make install-headers"; }
else (if (cross != null)
then {
crossConfig = cross.config;
# The `configure' script wants to build executables so tell it where
# to find `crt1.o' et al.
LDFLAGS = "-B${glibcCross}/lib";
}
else { })))
stdenv.lib.optionalAttrs headersOnly {
dontBuild = true;
installPhase = "make install-headers";
})

View File

@ -55,8 +55,6 @@ stdenv.mkDerivation ({
(if cross != null
then {
crossConfig = cross.config;
# Tell gcc where to find `crt1.o' et al. This is specified in two
# different ways: one for gcc as run from `configure', and one for linking
# libpthread.so (by default `libtool --mode=link' swallows `-B', hence

View File

@ -33,21 +33,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
crossAttrs = {
propagatedBuildInputs = [ flex.crossDrv cracklib.crossDrv ];
preConfigure = preConfigure + ''
$crossConfig-ar x ${flex.crossDrv}/lib/libfl.a
mv libyywrap.o libyywrap-target.o
ar x ${flex}/lib/libfl.a
mv libyywrap.o libyywrap-host.o
export LDFLAGS="$LDFLAGS $PWD/libyywrap-target.o"
sed -e 's/@CC@/gcc/' -i doc/specs/Makefile.in
'';
postConfigure = ''
sed -e "s@ $PWD/libyywrap-target.o@ $PWD/libyywrap-host.o@" -i doc/specs/Makefile
'';
};
postInstall = ''
mv -v $out/sbin/unix_chkpwd{,.orig}
ln -sv /run/wrappers/bin/unix_chkpwd $out/sbin/unix_chkpwd

View File

@ -0,0 +1,12 @@
{ lib, fetchurl }:
rec {
name = "mingwrt-3.20";
src = fetchurl {
url = "mirror://sourceforge/mingw/MinGW/Base/mingw-rt/${name}-mingw32-src.tar.gz";
sha256 = "02pydg1m8y35nxb4k34nlb5c341y2waq76z42mgdzlcf661r91pi";
};
meta.platforms = [ lib.systems.inspect.isMinGW ];
}

View File

@ -1,29 +1,7 @@
{stdenv, fetchurl, binutils ? null, gccCross ? null, onlyHeaders ? false}:
let
name = "mingwrt-3.20";
in
stdenv.mkDerivation (rec {
inherit name;
src = fetchurl {
url = "mirror://sourceforge/mingw/MinGW/Base/mingw-rt/${name}-mingw32-src.tar.gz";
sha256 = "02pydg1m8y35nxb4k34nlb5c341y2waq76z42mgdzlcf661r91pi";
};
} //
(if onlyHeaders then {
name = name + "-headers";
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p $out
cp -R include $out
'';
} else {
buildInputs = [ gccCross binutils ];
crossConfig = gccCross.crossConfig;
{ stdenv, callPackage }:
stdenv.mkDerivation {
inherit (callPackage ./common.nix {}) name src meta;
dontStrip = true;
})
)
hardeningDisable = [ "stackprotector" "fortify" ];
}

View File

@ -0,0 +1,17 @@
{ stdenvNoCC, callPackage }:
let
inherit (callPackage ./common.nix {}) name src meta;
in stdenvNoCC.mkDerivation {
name = name + "-headers";
inherit src meta;
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p $out
cp -R include $out
'';
}

View File

@ -0,0 +1,14 @@
{ fetchurl, xz }:
rec {
name = "w32api-3.17-2";
src = fetchurl {
url = "mirror://sourceforge/mingw/MinGW/Base/w32api/w32api-3.17/${name}-mingw32-src.tar.lzma";
sha256 = "09rhnl6zikmdyb960im55jck0rdy5z9nlg3akx68ixn7khf3j8wb";
};
nativeBuildInputs = [ xz ];
meta.platforms = [ lib.systems.inspect.isMinGW ];
}

View File

@ -1,32 +1,6 @@
{ stdenv, fetchurl, xz, binutils ? null
, gccCross ? null, onlyHeaders ? false }:
let
name = "w32api-3.17-2";
in
stdenv.mkDerivation ({
inherit name;
src = fetchurl {
url = "mirror://sourceforge/mingw/MinGW/Base/w32api/w32api-3.17/${name}-mingw32-src.tar.lzma";
sha256 = "09rhnl6zikmdyb960im55jck0rdy5z9nlg3akx68ixn7khf3j8wb";
};
nativeBuildInputs = [ xz ];
} //
(if onlyHeaders then {
name = name + "-headers";
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p $out
cp -R include $out
'';
} else {
buildInputs = [ gccCross binutils ];
crossConfig = gccCross.crossConfig;
{ stdenv, callPackage }:
stdenv.mkDerivation {
inherit (callPackage ./common.nix {}) name src nativeBuildInputs meta;
dontStrip = true;
})
)
}

View File

@ -0,0 +1,17 @@
{ stdenvNoCC, callPackage }:
let
inherit (callPackage ./common.nix {}) name src meta;
in stdenvNoCC.mkDerivation {
name = name + "-headers";
inherit src nativeBuildInputs meta;
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p $out
cp -R include $out
'';
}

View File

@ -0,0 +1,38 @@
{ lib, pythonPackages }:
let
truffleHogRegexes = pythonPackages.buildPythonPackage rec {
pname = "truffleHogRegexes";
version = "0.0.4";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "09vrscbb4h4w01gmamlzghxx6cvrqdscylrbdcnbjsd05xl7zh4z";
};
};
in
pythonPackages.buildPythonApplication rec {
pname = "truffleHog";
version = "2.0.91";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "0r4c9ihy6wjh5cwli7lb6cr2yfvxrh7r6cgznql1src5gzlnkymx";
};
# Relax overly restricted version constraint
postPatch = ''
substituteInPlace setup.py --replace "GitPython ==" "GitPython >= "
'';
propagatedBuildInputs = [ pythonPackages.GitPython truffleHogRegexes ];
# Test cases run git clone and require network access
doCheck = false;
meta = {
homepage = https://github.com/dxa4481/truffleHog;
description = "Searches through git repositories for high entropy strings and secrets, digging deep into commit history";
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ bhipple ];
};
}

View File

@ -8540,6 +8540,8 @@ with pkgs;
bicpl = callPackage ../development/libraries/science/biology/bicpl { };
bicgl = callPackage ../development/libraries/science/biology/bicgl { };
# TODO(@Ericson2314): Build bionic libc from source
bionic = assert hostPlatform.useAndroidPrebuilt;
androidenv.androidndkPkgs.libraries;
@ -14098,23 +14100,13 @@ with pkgs;
jom = callPackage ../os-specific/windows/jom { };
w32api = callPackage ../os-specific/windows/w32api {
gccCross = gccCrossStageStatic;
binutils = binutils;
};
w32api = callPackage ../os-specific/windows/w32api { };
w32api_headers = w32api.override {
onlyHeaders = true;
};
w32api_headers = callPackage ../os-specific/windows/w32api/headers { };
mingw_runtime = callPackage ../os-specific/windows/mingwrt {
gccCross = gccCrossMingw2;
binutils = binutils;
};
mingw_runtime = callPackage ../os-specific/windows/mingwrt { };
mingw_runtime_headers = mingw_runtime.override {
onlyHeaders = true;
};
mingw_runtime_headers = callPackage ../os-specific/windows/mingwrt/headers.nix { };
mingw_headers1 = buildEnv {
name = "mingw-headers-1";
@ -19781,6 +19773,8 @@ with pkgs;
inherit (perlPackages) GetoptTabular MNI-Perllib;
};
minimap2 = callPackage ../applications/science/biology/minimap2 { };
ncbi_tools = callPackage ../applications/science/biology/ncbi-tools { };
paml = callPackage ../applications/science/biology/paml { };
@ -20974,6 +20968,8 @@ with pkgs;
tup = callPackage ../development/tools/build-managers/tup { };
trufflehog = callPackage ../tools/security/trufflehog { };
tvheadend = callPackage ../servers/tvheadend { };
ums = callPackage ../servers/ums { };

View File

@ -2822,56 +2822,11 @@ in {
gpy = callPackage ../development/python-modules/gpy { };
gitdb = buildPythonPackage rec {
name = "gitdb-0.6.4";
gitdb = callPackage ../development/python-modules/gitdb { };
src = pkgs.fetchurl {
url = "mirror://pypi/g/gitdb/${name}.tar.gz";
sha256 = "0n4n2c7rxph9vs2l6xlafyda5x1mdr8xy16r9s3jwnh3pqkvrsx3";
};
gitdb2 = callPackage ../development/python-modules/gitdb2 { };
buildInputs = with self; [ nose ];
propagatedBuildInputs = with self; [ smmap ];
checkPhase = ''
nosetests
'';
doCheck = false; # Bunch of tests fail because they need an actual git repo
meta = {
description = "Git Object Database";
maintainers = with maintainers; [ ];
homepage = https://github.com/gitpython-developers/gitdb;
license = licenses.bsd3;
};
};
GitPython = buildPythonPackage rec {
version = "2.0.8";
name = "GitPython-${version}";
src = pkgs.fetchurl {
url = "mirror://pypi/G/GitPython/GitPython-${version}.tar.gz";
sha256 = "7c03d1130f903aafba6ae5b89ccf8eb433a995cd3120cbb781370e53fc4eb222";
};
buildInputs = with self; [ mock nose ];
propagatedBuildInputs = with self; [ gitdb ];
# All tests error with
# InvalidGitRepositoryError: /tmp/nix-build-python2.7-GitPython-1.0.1.drv-0/GitPython-1.0.1
# Maybe due to being in a chroot?
doCheck = false;
meta = {
description = "Python Git Library";
maintainers = with maintainers; [ ];
homepage = https://github.com/gitpython-developers/GitPython;
license = licenses.bsd3;
};
};
GitPython = callPackage ../development/python-modules/GitPython { };
git-annex-adapter = callPackage ../development/python-modules/git-annex-adapter {
inherit (pkgs.gitAndTools) git-annex;
@ -6784,24 +6739,7 @@ in {
iso8601 = callPackage ../development/python-modules/iso8601 { };
isort = buildPythonPackage rec {
name = "${pname}-${version}";
pname = "isort";
version = "4.2.5";
src = pkgs.fetchurl {
url = "mirror://pypi/i/${pname}/${name}.tar.gz";
sha256 = "0p7a6xaq7zxxq5vr5gizshnsbk2afm70apg97xwfdxiwyi201cjn";
};
buildInputs = with self; [ mock pytest ];
# No tests distributed
doCheck = false;
meta = {
description = "A Python utility / library to sort Python imports";
homepage = https://github.com/timothycrosley/isort;
license = licenses.mit;
maintainers = with maintainers; [ couchemar nand0p ];
};
};
isort = callPackage ../development/python-modules/isort {};
jabberbot = callPackage ../development/python-modules/jabberbot {};
@ -14243,18 +14181,9 @@ in {
tqdm = callPackage ../development/python-modules/tqdm { };
smmap = buildPythonPackage rec {
name = "smmap-0.9.0";
disabled = isPyPy; # This fails the tests if built with pypy
meta.maintainers = with maintainers; [ ];
smmap = callPackage ../development/python-modules/smmap { };
buildInputs = with self; [ nosexcover ];
src = pkgs.fetchurl {
url = "mirror://pypi/s/smmap/${name}.tar.gz";
sha256 = "0qlx25f6n2n9ff37w9gg62f217fzj16xlbh0pkz0lpxxjys64aqf";
};
};
smmap2 = callPackage ../development/python-modules/smmap2 { };
traits = buildPythonPackage rec {
name = "traits-${version}";