Merge branch 'master' into staging-next
This commit is contained in:
commit
94e608d587
@ -2190,7 +2190,7 @@
|
||||
name = "Nathaniel Baxter";
|
||||
};
|
||||
lightdiscord = {
|
||||
email = "arnaud@lightdiscord.me";
|
||||
email = "root@arnaud.sh";
|
||||
github = "lightdiscord";
|
||||
name = "Arnaud Pascal";
|
||||
};
|
||||
|
@ -5,6 +5,43 @@ with lib;
|
||||
let
|
||||
cfg = config.services.dockerRegistry;
|
||||
|
||||
blobCache = if cfg.enableRedisCache
|
||||
then "redis"
|
||||
else "inmemory";
|
||||
|
||||
registryConfig = {
|
||||
version = "0.1";
|
||||
log.fields.service = "registry";
|
||||
storage = {
|
||||
cache.blobdescriptor = blobCache;
|
||||
filesystem.rootdirectory = cfg.storagePath;
|
||||
delete.enabled = cfg.enableDelete;
|
||||
};
|
||||
http = {
|
||||
addr = ":${builtins.toString cfg.port}";
|
||||
headers.X-Content-Type-Options = ["nosniff"];
|
||||
};
|
||||
health.storagedriver = {
|
||||
enabled = true;
|
||||
interval = "10s";
|
||||
threshold = 3;
|
||||
};
|
||||
};
|
||||
|
||||
registryConfig.redis = mkIf cfg.enableRedisCache {
|
||||
addr = "${cfg.redisUrl}";
|
||||
password = "${cfg.redisPassword}";
|
||||
db = 0;
|
||||
dialtimeout = "10ms";
|
||||
readtimeout = "10ms";
|
||||
writetimeout = "10ms";
|
||||
pool = {
|
||||
maxidle = 16;
|
||||
maxactive = 64;
|
||||
idletimeout = "300s";
|
||||
};
|
||||
};
|
||||
|
||||
configFile = pkgs.writeText "docker-registry-config.yml" (builtins.toJSON (recursiveUpdate registryConfig cfg.extraConfig));
|
||||
|
||||
in {
|
||||
|
@ -277,6 +277,7 @@ in rec {
|
||||
tests.docker-tools = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools.nix {};
|
||||
tests.docker-tools-overlay = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools-overlay.nix {};
|
||||
tests.docker-edge = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-edge.nix {};
|
||||
tests.docker-registry = callTest tests/docker-registry.nix {};
|
||||
tests.dovecot = callTest tests/dovecot.nix {};
|
||||
tests.dnscrypt-proxy = callTestOnMatchingSystems ["x86_64-linux"] tests/dnscrypt-proxy.nix {};
|
||||
tests.ecryptfs = callTest tests/ecryptfs.nix {};
|
||||
|
@ -52,19 +52,9 @@ self:
|
||||
# part of a larger package
|
||||
caml = dontConfigure super.caml;
|
||||
|
||||
# part of a larger package
|
||||
# upstream issue: missing package version
|
||||
cmake-mode = markBroken (dontConfigure super.cmake-mode);
|
||||
|
||||
# Expects bash to be at /bin/bash
|
||||
company-rtags = markBroken super.company-rtags;
|
||||
|
||||
# upstream issue: missing file header
|
||||
connection = markBroken super.connection;
|
||||
|
||||
# upstream issue: missing file header
|
||||
dictionary = markBroken super.dictionary;
|
||||
|
||||
easy-kill-extras = super.easy-kill-extras.override {
|
||||
inherit (self.melpaPackages) easy-kill;
|
||||
};
|
||||
@ -79,6 +69,17 @@ self:
|
||||
inherit (self.melpaPackages) ess ctable popup;
|
||||
};
|
||||
|
||||
evil-magit = super.evil-magit.overrideAttrs (attrs: {
|
||||
# searches for Git at build time
|
||||
nativeBuildInputs =
|
||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||
});
|
||||
|
||||
# missing dependencies
|
||||
evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: {
|
||||
packageRequires = with self; [ evil highlight ];
|
||||
});
|
||||
|
||||
# missing OCaml
|
||||
flycheck-ocaml = markBroken super.flycheck-ocaml;
|
||||
|
||||
@ -108,15 +109,17 @@ self:
|
||||
# upstream issue: missing file header
|
||||
initsplit = super.initsplit;
|
||||
|
||||
# tries to write a log file to $HOME
|
||||
insert-shebang = super.insert-shebang.overrideAttrs (attrs: {
|
||||
HOME = "/tmp";
|
||||
});
|
||||
|
||||
# Expects bash to be at /bin/bash
|
||||
ivy-rtags = markBroken super.ivy-rtags;
|
||||
|
||||
# upstream issue: missing file header
|
||||
jsfmt = markBroken super.jsfmt;
|
||||
|
||||
# upstream issue: missing file header
|
||||
link = markBroken super.link;
|
||||
|
||||
# upstream issue: missing file header
|
||||
maxframe = markBroken super.maxframe;
|
||||
|
||||
@ -131,6 +134,18 @@ self:
|
||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||
});
|
||||
|
||||
magit-annex = super.magit-annex.overrideAttrs (attrs: {
|
||||
# searches for Git at build time
|
||||
nativeBuildInputs =
|
||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||
});
|
||||
|
||||
magit-gitflow = super.magit-gitflow.overrideAttrs (attrs: {
|
||||
# searches for Git at build time
|
||||
nativeBuildInputs =
|
||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||
});
|
||||
|
||||
# missing OCaml
|
||||
merlin = markBroken super.merlin;
|
||||
|
||||
@ -154,8 +169,10 @@ self:
|
||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||
}));
|
||||
|
||||
# upstream issue: truncated file
|
||||
powershell = markBroken super.powershell;
|
||||
# tries to write to $HOME
|
||||
php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: {
|
||||
HOME = "/tmp";
|
||||
});
|
||||
|
||||
# upstream issue: mismatched filename
|
||||
processing-snippets = markBroken super.processing-snippets;
|
||||
|
@ -1,31 +0,0 @@
|
||||
{ stdenv, fetchgit, pkgconfig, girara, gtk, webkitgtk, glib-networking, makeWrapper
|
||||
, gsettings-desktop-schemas }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "jumanji-${version}";
|
||||
version = "20150107";
|
||||
|
||||
src = fetchgit {
|
||||
url = https://git.pwmt.org/pwmt/jumanji.git;
|
||||
rev = "f8e04e5b5a9fec47d49ca63a096e5d35be281151";
|
||||
sha256 = "1dsbyz489fx7dp07i29q1rjkl7nhrfscc8ks8an2rdyhx3457asg";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ girara gtk webkitgtk makeWrapper gsettings-desktop-schemas ];
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
preFixup=''
|
||||
wrapProgram "$out/bin/jumanji" \
|
||||
--prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" \
|
||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Minimal web browser";
|
||||
homepage = https://pwmt.org/projects/jumanji/;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.koral ];
|
||||
};
|
||||
}
|
@ -2,10 +2,10 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "duktape-${version}";
|
||||
version = "2.2.1";
|
||||
version = "2.3.0";
|
||||
src = fetchurl {
|
||||
url = "http://duktape.org/duktape-${version}.tar.xz";
|
||||
sha256 = "1wp7mpkhizknq72ivdbkzps4radi1daqzjcjp1i54c2k4pnjxgis";
|
||||
sha256 = "1s5g8lg0dga6x3rcq328a6hsd2sk2vzwq9zfmskjh5h6n8x2yvpd";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, agda, fetchFromGitHub, ghcWithPackages }:
|
||||
|
||||
agda.mkDerivation (self: rec {
|
||||
version = "0.15";
|
||||
version = "0.16";
|
||||
name = "agda-stdlib-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "agda-stdlib";
|
||||
owner = "agda";
|
||||
rev = "v${version}";
|
||||
sha256 = "0c2vfib4fmljy98c3s3s7jmpjlqxvsbv7wf6qxr38kamwzbryrjj";
|
||||
sha256 = "0kqfx6742vbyyr8glqm5bkvj0z0y0dkaajlw10p3pzidrc17767r";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ (ghcWithPackages (self : [ self.filemanip ])) ];
|
||||
|
@ -1,9 +1,9 @@
|
||||
{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, gnome3
|
||||
, gtk-doc, gtk2, python2Packages, lua, libX11, libXext, libXrender, gobjectIntrospection
|
||||
, gtk-doc, gtk2, python2Packages, lua, gobjectIntrospection
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (python2Packages) python pygobject3 pygtk;
|
||||
inherit (python2Packages) python pygtk;
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "keybinder-${version}";
|
||||
version = "0.3.0";
|
||||
@ -16,8 +16,8 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
autoconf automake libtool gnome3.gnome-common gtk-doc gnome3.gtk3
|
||||
python pygobject3 pygtk lua libX11 libXext libXrender gobjectIntrospection gtk2
|
||||
autoconf automake libtool gnome3.gnome-common gtk-doc gtk2
|
||||
python pygtk lua gobjectIntrospection
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -3,13 +3,14 @@
|
||||
let
|
||||
rtpPath = "share/tmux-plugins";
|
||||
|
||||
addRtp = path: pluginName: attrs: derivation:
|
||||
derivation // { rtp = "${derivation}/${path}/${builtins.replaceStrings ["-"] ["_"] pluginName}.tmux"; } // {
|
||||
addRtp = path: rtpFilePath: attrs: derivation:
|
||||
derivation // { rtp = "${derivation}/${path}/${rtpFilePath}"; } // {
|
||||
overrideAttrs = f: buildTmuxPlugin (attrs // f attrs);
|
||||
};
|
||||
|
||||
buildTmuxPlugin = a@{
|
||||
pluginName,
|
||||
rtpFilePath ? (builtins.replaceStrings ["-"] ["_"] pluginName) + ".tmux",
|
||||
namePrefix ? "tmuxplugin-",
|
||||
src,
|
||||
unpackPhase ? "",
|
||||
@ -22,7 +23,7 @@ let
|
||||
dependencies ? [],
|
||||
...
|
||||
}:
|
||||
addRtp "${rtpPath}/${path}" pluginName a (stdenv.mkDerivation (a // {
|
||||
addRtp "${rtpPath}/${path}" rtpFilePath a (stdenv.mkDerivation (a // {
|
||||
name = namePrefix + pluginName;
|
||||
|
||||
inherit pluginName unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
|
||||
@ -102,6 +103,7 @@ in rec {
|
||||
|
||||
fzf-tmux-url = buildTmuxPluginFrom2Nix {
|
||||
pluginName = "fzf-tmux-url";
|
||||
rtpFilePath = "fzf-url.tmux";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/wfxr/tmux-fzf-url";
|
||||
rev = "ecd518eec1067234598c01e655b048ff9d06ef2f";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl }:
|
||||
{ stdenv, fetchurl, dpkg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "raspberrypi-wireless-firmware-${version}";
|
||||
@ -20,11 +20,12 @@ stdenv.mkDerivation rec {
|
||||
# Firmware blobs do not need fixing and should not be modified
|
||||
dontFixup = true;
|
||||
|
||||
|
||||
# Unpack the debian package
|
||||
nativeBuildInputs = [ dpkg ];
|
||||
unpackCmd = ''
|
||||
if ! [[ "$curSrc" =~ \.deb$ ]]; then return 1; fi
|
||||
ar -xf "$curSrc"
|
||||
tar -xf data.tar.xz
|
||||
dpkg -x "$curSrc" .
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
@ -39,6 +40,10 @@ stdenv.mkDerivation rec {
|
||||
cp broadcom/*.hcd "$out/lib/firmware/brcm"
|
||||
'';
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = "1gwzasl5w5nc0awqv3w2081ns63wd1yds0xh0dg95dc6brnqhhf8";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Firmware for builtin Wifi/Bluetooth devices in the Raspberry Pi 3 and Zero W";
|
||||
homepage = https://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree/;
|
||||
|
@ -3,7 +3,7 @@
|
||||
with stdenv.lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.14.60";
|
||||
version = "4.14.61";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
|
||||
@ -13,6 +13,6 @@ buildLinux (args // rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "15djfcl4m388vm3wkfa6yx0sglyp8zh04s7m7xa1ybmsiwjl7qbc";
|
||||
sha256 = "1s3h3js073h4ww2dryip91d2lvmgv439ly2vya9x7rvilwhwa3hd";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
@ -3,7 +3,7 @@
|
||||
with stdenv.lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.17.12";
|
||||
version = "4.17.13";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
|
||||
@ -13,6 +13,6 @@ buildLinux (args // rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "18xmkj1bmfrmvx6p8cl5l7pyv0zk5y3mxhyfnlzqwkxnvkjf5660";
|
||||
sha256 = "0x1zas3jwvhjkifh20cwpd2g0glgr8m7h8lqng7awrd116xkw2w2";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.4.145";
|
||||
version = "4.4.146";
|
||||
extraMeta.branch = "4.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "1max0d1b1y1ndrfprrcyb7c9y12pkx2whxzlr70qypcb5jz0v7ff";
|
||||
sha256 = "1xbxw6yvbjam0xj8j44h730dpf5v94pcf9j7iivcmasgjp61120z";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.9.117";
|
||||
version = "4.9.118";
|
||||
extraMeta.branch = "4.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "1c3r0a4fchg358zff2ww8kw789kah3bhr750p9qlsy65d8rflcl2";
|
||||
sha256 = "0myx79rmxgjbr87r815vybmbg6iqgd3nycildrpwsh301kj8kxvx";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
@ -1,13 +1,13 @@
|
||||
{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.18-rc7";
|
||||
modDirVersion = "4.18.0-rc7";
|
||||
version = "4.18-rc8";
|
||||
modDirVersion = "4.18.0-rc8";
|
||||
extraMeta.branch = "4.18";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
|
||||
sha256 = "005kk7rxawkka60y31a5aiqrq3w6i1k27b5n2lcq63agjcxh54rq";
|
||||
sha256 = "0rqyqms63c15iwcwy40yqd9fvlvh3ah09gddv0wf45z9dqp7id1m";
|
||||
};
|
||||
|
||||
# Should the testing kernels ever be built on Hydra?
|
||||
|
@ -48,17 +48,6 @@ rec {
|
||||
};
|
||||
};
|
||||
|
||||
# https://patchwork.kernel.org/patch/9626797/
|
||||
# Should be included in 4.17, so this patch can be dropped when 4.16 becomes obsolete.
|
||||
bcm2835_mmal_v4l2_camera_driver = rec {
|
||||
name = "bcm2835_mmal_v4l2_camera_driver";
|
||||
patch = fetchpatch {
|
||||
name = name + ".patch";
|
||||
url = https://patchwork.kernel.org/patch/9626797/raw/;
|
||||
sha256 = "0iwb0yxsf95zv4qxkvlvhqfmzx0rk13g9clvxsharvwkb4w5lwa0";
|
||||
};
|
||||
};
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/42755
|
||||
xen-netfront_fix_mismatched_rtnl_unlock = rec {
|
||||
name = "xen-netfront_fix_mismatched_rtnl_unlock";
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "matterbridge-${version}";
|
||||
version = "1.7.1";
|
||||
version = "1.11.0";
|
||||
|
||||
goPackagePath = "github.com/42wim/matterbridge";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/42wim/matterbridge/archive/v${version}.tar.gz";
|
||||
sha256 = "0ajc7xswmwhc2xn937sv3b76s8hblfn9x9rj5825hi3d3s8zqq88";
|
||||
sha256 = "1fjpgdaq4mfgf36gzk3hhmlbpfn44b7xll2rdpy69y460jrjfg6k";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
112
pkgs/tools/package-management/appimagekit/default.nix
Normal file
112
pkgs/tools/package-management/appimagekit/default.nix
Normal file
@ -0,0 +1,112 @@
|
||||
{ stdenv, fetchFromGitHub
|
||||
, pkgconfig, cmake, autoconf, automake, libtool
|
||||
, wget, xxd, desktop-file-utils
|
||||
, glib, zlib, cairo, openssl, fuse, xz, squashfuse, inotify-tools, libarchive
|
||||
, squashfsTools
|
||||
, gtest
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
appimagekit_src = fetchFromGitHub {
|
||||
owner = "AppImage";
|
||||
repo = "AppImageKit";
|
||||
rev = "b0859501df61cde198b54a317c03b41dbafc98b1";
|
||||
sha256 = "0qqg79jw9w9rs8c2w3lla4kz62ihafrf7jm370pp1dl8y2i81jzg";
|
||||
};
|
||||
|
||||
# squashfuse adapted to nix from cmake experession in "${appimagekit_src}/cmake/dependencies.cmake"
|
||||
appimagekit_squashfuse = squashfuse.overrideAttrs (attrs: rec {
|
||||
name = "squashfuse-${version}";
|
||||
version = "20161009";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vasi";
|
||||
repo = "squashfuse";
|
||||
rev = "1f980303b89c779eabfd0a0fdd36d6a7a311bf92";
|
||||
sha256 = "0lrw9ff8k15l34wjwyllw3i35hl0cms97jj2hpnr2q8ipgxpb5q5";
|
||||
};
|
||||
|
||||
patches = [
|
||||
"${appimagekit_src}/squashfuse.patch"
|
||||
"${appimagekit_src}/squashfuse_dlopen.patch"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
cp -v ${appimagekit_src}/squashfuse_dlopen.[hc] .
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
sed -i "/PKG_CHECK_MODULES.*/,/,:./d" configure
|
||||
sed -i "s/typedef off_t sqfs_off_t/typedef int64_t sqfs_off_t/g" common.h
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--disable-demo" "--disable-high-level" "--without-lzo" "--without-lz4"
|
||||
];
|
||||
|
||||
postConfigure = ''
|
||||
sed -i "s|XZ_LIBS = -llzma |XZ_LIBS = -Bstatic -llzma/|g" Makefile
|
||||
'';
|
||||
|
||||
# only static libs and header files
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib $out/include
|
||||
cp -v ./.libs/*.a $out/lib
|
||||
cp -v ./*.h $out/include
|
||||
'';
|
||||
});
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "appimagekit-20180727";
|
||||
|
||||
src = appimagekit_src;
|
||||
|
||||
patches = [ ./nix.patch ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig cmake autoconf automake libtool wget xxd
|
||||
desktop-file-utils
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib zlib cairo openssl fuse
|
||||
xz inotify-tools libarchive
|
||||
squashfsTools
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
export HOME=$(pwd)
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DUSE_SYSTEM_XZ=ON"
|
||||
"-DUSE_SYSTEM_SQUASHFUSE=ON"
|
||||
"-DSQUASHFUSE=${appimagekit_squashfuse}"
|
||||
"-DUSE_SYSTEM_INOTIFY_TOOLS=ON"
|
||||
"-DUSE_SYSTEM_LIBARCHIVE=ON"
|
||||
"-DUSE_SYSTEM_GTEST=ON"
|
||||
"-DUSE_SYSTEM_MKSQUASHFS=ON"
|
||||
"-DBUILD_TESTING=${if doCheck then "ON" else "OFF"}"
|
||||
];
|
||||
|
||||
checkInputs = [ gtest ];
|
||||
doCheck = false; # fails 1 out of 4 tests, I'm too lazy to debug why
|
||||
|
||||
# for debugging
|
||||
passthru = {
|
||||
squashfuse = appimagekit_squashfuse;
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A tool to package desktop applications as AppImages";
|
||||
longDescription = ''
|
||||
AppImageKit is an implementation of the AppImage format that
|
||||
provides tools such as appimagetool and appimaged for handling
|
||||
AppImages.
|
||||
'';
|
||||
license = licenses.mit;
|
||||
homepage = src.meta.homepage;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
174
pkgs/tools/package-management/appimagekit/nix.patch
Normal file
174
pkgs/tools/package-management/appimagekit/nix.patch
Normal file
@ -0,0 +1,174 @@
|
||||
diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake
|
||||
index ea133a3..916606c 100644
|
||||
--- a/cmake/dependencies.cmake
|
||||
+++ b/cmake/dependencies.cmake
|
||||
@@ -224,21 +224,23 @@ if(NOT USE_SYSTEM_XZ)
|
||||
LIBRARY_DIRS <INSTALL_DIR>/lib/
|
||||
LIBRARIES "<INSTALL_DIR>/lib/liblzma.a"
|
||||
INCLUDE_DIRS "<SOURCE_DIR>/src/liblzma/api/"
|
||||
)
|
||||
else()
|
||||
message(STATUS "Using system xz")
|
||||
|
||||
import_pkgconfig_target(TARGET_NAME xz PKGCONFIG_TARGET liblzma STATIC)
|
||||
endif()
|
||||
|
||||
+set(USE_SYSTEM_SQUASHFUSE OFF CACHE BOOL "Use system squashfuse instead of building our own")
|
||||
|
||||
+if(NOT USE_SYSTEM_SQUASHFUSE)
|
||||
# as distros don't provide suitable squashfuse and squashfs-tools, those dependencies are bundled in, can, and should
|
||||
# be used from this repository
|
||||
# TODO: implement out-of-source builds for squashfuse, as for the other dependencies
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/patch-squashfuse.sh.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/patch-squashfuse.sh
|
||||
@ONLY
|
||||
)
|
||||
|
||||
ExternalProject_Add(squashfuse-EXTERNAL
|
||||
@@ -259,20 +261,34 @@ ExternalProject_Add(squashfuse-EXTERNAL
|
||||
BUILD_IN_SOURCE ON
|
||||
INSTALL_COMMAND ${MAKE} install
|
||||
)
|
||||
|
||||
import_external_project(
|
||||
TARGET_NAME squashfuse
|
||||
EXT_PROJECT_NAME squashfuse-EXTERNAL
|
||||
LIBRARIES "<SOURCE_DIR>/.libs/libsquashfuse.a;<SOURCE_DIR>/.libs/libsquashfuse_ll.a;<SOURCE_DIR>/.libs/libfuseprivate.a"
|
||||
INCLUDE_DIRS "<SOURCE_DIR>"
|
||||
)
|
||||
+else()
|
||||
+ message(STATUS "Using system squashfsfuse from ${SQUASHFUSE}")
|
||||
+
|
||||
+ add_library(squashfuse INTERFACE IMPORTED GLOBAL)
|
||||
+
|
||||
+ set(squashfuse_INCLUDE_DIRS "${SQUASHFUSE}/include")
|
||||
+ set(squashfuse_LIBRARIES "${SQUASHFUSE}/lib/libsquashfuse.a;${SQUASHFUSE}/lib/libsquashfuse_ll.a;${SQUASHFUSE}/lib/libfuseprivate.a")
|
||||
+
|
||||
+ set_property(
|
||||
+ TARGET squashfuse
|
||||
+ PROPERTY INTERFACE_LINK_LIBRARIES ${squashfuse_LIBRARIES}
|
||||
+ )
|
||||
+ include_directories(${squashfuse_INCLUDE_DIRS})
|
||||
+endif()
|
||||
|
||||
|
||||
set(USE_SYSTEM_INOTIFY_TOOLS OFF CACHE BOOL "Use system libinotifytools instead of building our own")
|
||||
|
||||
if(NOT USE_SYSTEM_INOTIFY_TOOLS)
|
||||
message(STATUS "Downloading and building inotify-tools")
|
||||
|
||||
# TODO: build out of source
|
||||
ExternalProject_Add(inotify-tools-EXTERNAL
|
||||
URL https://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
|
||||
@@ -345,20 +361,23 @@ if(NOT USE_SYSTEM_GTEST)
|
||||
INCLUDE_DIRS "<INSTALL_DIR>/include/"
|
||||
)
|
||||
else()
|
||||
message(STATUS "Using system GTest")
|
||||
|
||||
import_find_pkg_target(gtest GTest GTEST)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
+set(USE_SYSTEM_MKSQUASHFS OFF CACHE BOOL "Use system mksquashfs instead of downloading and building our own")
|
||||
+
|
||||
+if(NOT USE_SYSTEM_MKSQUASHFS)
|
||||
# TODO: allow using system wide mksquashfs
|
||||
set(mksquashfs_cflags "-DXZ_SUPPORT ${CFLAGS}")
|
||||
|
||||
if(xz_LIBRARIES MATCHES "\\.a$")
|
||||
set(mksquashfs_ldflags "${xz_LIBRARIES}")
|
||||
else()
|
||||
set(mksquashfs_ldflags "-l${xz_LIBRARIES}")
|
||||
endif()
|
||||
|
||||
if(xz_INCLUDE_DIRS)
|
||||
@@ -385,20 +404,25 @@ ExternalProject_Add(mksquashfs
|
||||
INSTALL_COMMAND ${MAKE} -C squashfs-tools/ install INSTALL_DIR=<INSTALL_DIR>
|
||||
)
|
||||
|
||||
ExternalProject_Get_Property(mksquashfs INSTALL_DIR)
|
||||
set(mksquashfs_INSTALL_DIR "${INSTALL_DIR}")
|
||||
mark_as_advanced(mksquashfs_INSTALL_DIR)
|
||||
|
||||
# for later use when packaging as an AppImage
|
||||
set(mksquashfs_BINARY "${mksquashfs_INSTALL_DIR}/mksquashfs")
|
||||
mark_as_advanced(mksquashfs_BINARY)
|
||||
+else()
|
||||
+ message(STATUS "Using system mksquashfs")
|
||||
+
|
||||
+ set(mksquashfs_BINARY "mksquashfs")
|
||||
+endif()
|
||||
|
||||
|
||||
#### build dependency configuration ####
|
||||
|
||||
# only have to build custom xz when not using system libxz
|
||||
if(TARGET xz-EXTERNAL)
|
||||
if(TARGET squashfuse-EXTERNAL)
|
||||
ExternalProject_Add_StepDependencies(squashfuse-EXTERNAL configure xz-EXTERNAL)
|
||||
endif()
|
||||
if(TARGET mksquashfs)
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 3f25442..974ed0e 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -197,27 +197,27 @@ target_include_directories(digest_md5
|
||||
|
||||
target_link_libraries(digest_md5
|
||||
PRIVATE
|
||||
libglib
|
||||
)
|
||||
|
||||
|
||||
# install binaries
|
||||
if(AUXILIARY_FILES_DESTINATION)
|
||||
install(
|
||||
- PROGRAMS ${mksquashfs_INSTALL_DIR}/mksquashfs ${CMAKE_CURRENT_BINARY_DIR}/runtime
|
||||
+ PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/runtime
|
||||
DESTINATION ${AUXILIARY_FILES_DESTINATION}
|
||||
COMPONENT applications
|
||||
)
|
||||
else()
|
||||
install(
|
||||
- PROGRAMS ${mksquashfs_INSTALL_DIR}/mksquashfs ${CMAKE_CURRENT_BINARY_DIR}/runtime
|
||||
+ PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/runtime
|
||||
DESTINATION bin
|
||||
COMPONENT applications
|
||||
)
|
||||
endif()
|
||||
|
||||
install(
|
||||
TARGETS AppRun appimagetool digest validate
|
||||
RUNTIME DESTINATION bin COMPONENT applications
|
||||
LIBRARY DESTINATION lib COMPONENT applications
|
||||
ARCHIVE DESTINATION lib/static COMPONENT applications
|
||||
diff --git a/src/shared.c b/src/shared.c
|
||||
index cf5fd5c..4f48dbc 100644
|
||||
--- a/src/shared.c
|
||||
+++ b/src/shared.c
|
||||
@@ -34,21 +34,21 @@
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gprintf.h>
|
||||
#include <glib/gstdio.h>
|
||||
#include <gio/gio.h>
|
||||
|
||||
-#include "squashfuse.h"
|
||||
+#include <squashfuse.h>
|
||||
#include <squashfs_fs.h>
|
||||
#include "getsection.h"
|
||||
#include "elf.h"
|
||||
|
||||
#include "xdg-basedir.h"
|
||||
|
||||
// own header
|
||||
#include "shared.h"
|
||||
|
||||
#if HAVE_LIBARCHIVE3 == 1 // CentOS
|
28
pkgs/tools/security/b2sum/default.nix
Normal file
28
pkgs/tools/security/b2sum/default.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ stdenv, fetchzip, openmp ? null }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "b2sum-${version}";
|
||||
version = "unstable-2018-06-11";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/BLAKE2/BLAKE2/archive/320c325437539ae91091ce62efec1913cd8093c2.tar.gz";
|
||||
sha256 = "0agmc515avdpr64bsgv87wby2idm0d3wbndxzkhdfjgzhgv0rb8k";
|
||||
};
|
||||
|
||||
sourceRoot = "source/b2sum";
|
||||
|
||||
buildInputs = [ openmp ];
|
||||
|
||||
buildFlags = [ (optional (isNull openmp) "NO_OPENMP=1") ];
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
meta = {
|
||||
description = "The b2sum utility is similar to the md5sum or shasum utilities but for BLAKE2";
|
||||
homepage = "https://blake2.net";
|
||||
license = with licenses; [ asl20 cc0 openssl ];
|
||||
maintainers = with maintainers; [ kirelagin ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -508,6 +508,8 @@ with pkgs;
|
||||
|
||||
appimage-run = callPackage ../tools/package-management/appimage-run {};
|
||||
|
||||
appimagekit = callPackage ../tools/package-management/appimagekit {};
|
||||
|
||||
apt-cacher-ng = callPackage ../servers/http/apt-cacher-ng { };
|
||||
|
||||
apt-offline = callPackage ../tools/misc/apt-offline { };
|
||||
@ -1581,6 +1583,10 @@ with pkgs;
|
||||
|
||||
asynk = callPackage ../tools/networking/asynk { };
|
||||
|
||||
b2sum = callPackage ../tools/security/b2sum {
|
||||
inherit (llvmPackages) openmp;
|
||||
};
|
||||
|
||||
bacula = callPackage ../tools/backup/bacula { };
|
||||
|
||||
bareos = callPackage ../tools/backup/bareos { };
|
||||
@ -13837,7 +13843,6 @@ with pkgs;
|
||||
# when adding a new linux version
|
||||
# kernelPatches.cpu-cgroup-v2."4.11"
|
||||
kernelPatches.modinst_arg_list_too_long
|
||||
kernelPatches.bcm2835_mmal_v4l2_camera_driver # Only needed for 4.16!
|
||||
];
|
||||
};
|
||||
|
||||
@ -16908,11 +16913,6 @@ with pkgs;
|
||||
|
||||
jbrout = callPackage ../applications/graphics/jbrout { };
|
||||
|
||||
jumanji = callPackage ../applications/networking/browsers/jumanji {
|
||||
webkitgtk = webkitgtk24x-gtk3;
|
||||
gtk = gtk3;
|
||||
};
|
||||
|
||||
jwm = callPackage ../applications/window-managers/jwm { };
|
||||
|
||||
k3d = callPackage ../applications/graphics/k3d {
|
||||
|
Loading…
Reference in New Issue
Block a user