diff options
Diffstat (limited to 'pkgs/os-specific/linux')
-rw-r--r-- | pkgs/os-specific/linux/busybox/default.nix | 3 | ||||
-rw-r--r-- | pkgs/os-specific/linux/eventstat/default.nix | 7 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kbd/default.nix | 35 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kbd/keymaps.nix | 35 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kbd/search-paths.patch | 77 | ||||
-rw-r--r-- | pkgs/os-specific/linux/lxc/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/plymouth/default.nix | 40 | ||||
-rw-r--r-- | pkgs/os-specific/linux/systemd/default.nix | 9 | ||||
-rw-r--r-- | pkgs/os-specific/linux/systemd/hwdb-location.diff | 19 | ||||
-rw-r--r-- | pkgs/os-specific/linux/v4l-utils/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/wireguard/default.nix | 57 |
11 files changed, 204 insertions, 86 deletions
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index fa6591701a69..b04f7855fefa 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -56,6 +56,9 @@ stdenv.mkDerivation rec { CONFIG_FEATURE_MOUNT_CIFS n CONFIG_FEATURE_MOUNT_HELPERS y + # Set paths for console fonts. + CONFIG_DEFAULT_SETFONT_DIR "/etc/kbd" + ${extraConfig} $extraCrossConfig EOF diff --git a/pkgs/os-specific/linux/eventstat/default.nix b/pkgs/os-specific/linux/eventstat/default.nix index d6122202b827..49eab1fe2546 100644 --- a/pkgs/os-specific/linux/eventstat/default.nix +++ b/pkgs/os-specific/linux/eventstat/default.nix @@ -1,12 +1,13 @@ -{ stdenv, lib, fetchzip }: +{ stdenv, lib, fetchzip, ncurses }: stdenv.mkDerivation rec { name = "eventstat-${version}"; - version = "0.02.02"; + version = "0.03.02"; src = fetchzip { url = "http://kernel.ubuntu.com/~cking/tarballs/eventstat/eventstat-${version}.tar.gz"; - sha256 = "1l1shcj3c0pxv1g6sqc10ka1crbx0cm2gldxbyrzqv2lmlfnmm44"; + sha256 = "1bwv0m9pk9l0jfibvsfjggc5pp9lyyrsfr10h6jm6kf1v6r6hf5s"; }; + buildInputs = [ ncurses ]; installFlags = [ "DESTDIR=$(out)" ]; postInstall = '' mv $out/usr/* $out diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix index fddaa84a8240..a3f21b51b061 100644 --- a/pkgs/os-specific/linux/kbd/default.nix +++ b/pkgs/os-specific/linux/kbd/default.nix @@ -1,42 +1,27 @@ -{ stdenv, fetchurl, autoreconfHook, gzip, bzip2, pkgconfig, check, pam }: +{ stdenv, fetchurl, autoreconfHook, gzip, bzip2, pkgconfig, flex, check, pam }: stdenv.mkDerivation rec { - name = "kbd-2.0.3"; + name = "kbd-${version}"; + version = "2.0.3"; src = fetchurl { url = "mirror://kernel/linux/utils/kbd/${name}.tar.xz"; sha256 = "0ppv953gn2zylcagr4z6zg5y2x93dxrml29plypg6xgbq3hrv2bs"; }; - /* Get the dvorak programmer keymap (present in X but not in kbd) */ - dvpSrc = fetchurl { - url = "http://kaufmann.no/downloads/linux/dvp-1_2_1.map.gz"; - sha256 = "0e859211cfe16a18a3b9cbf2ca3e280a23a79b4e40b60d8d01d0fde7336b6d50"; - }; - - neoSrc = fetchurl { - name = "neo.map"; - url = "https://svn.neo-layout.org/linux/console/neo.map?r=2455"; - sha256 = "1wlgp09wq84hml60hi4ls6d4zna7vhycyg40iipyh1279i91hsx7"; - }; - configureFlags = [ "--enable-optional-progs" "--enable-libkeymap" "--disable-nls" ]; - patches = [ ./console-fix.patch ]; + patches = [ ./console-fix.patch ./search-paths.patch ]; postPatch = '' - mkdir -p data/keymaps/i386/neo - cat "$neoSrc" > data/keymaps/i386/neo/neo.map + # Add Neo keymap subdirectory sed -i -e 's,^KEYMAPSUBDIRS *= *,&i386/neo ,' data/Makefile.am - # Add the dvp keyboard in the dvorak folder - ${gzip}/bin/gzip -c -d ${dvpSrc} > data/keymaps/i386/dvorak/dvp.map - # Fix the path to gzip/bzip2. substituteInPlace src/libkeymap/findfile.c \ --replace gzip ${gzip}/bin/gzip \ @@ -49,13 +34,15 @@ stdenv.mkDerivation rec { ''} ''; - buildInputs = [ autoreconfHook pkgconfig check pam ]; + buildInputs = [ check pam ]; + nativeBuildInputs = [ autoreconfHook pkgconfig flex ]; - makeFlags = "setowner= "; + makeFlags = [ "setowner=" ]; - meta = { + meta = with stdenv.lib; { homepage = ftp://ftp.altlinux.org/pub/people/legion/kbd/; description = "Linux keyboard utilities and keyboard maps"; - platforms = stdenv.lib.platforms.linux; + platforms = platforms.linux; + licenses = licenses.gpl2Plus; }; } diff --git a/pkgs/os-specific/linux/kbd/keymaps.nix b/pkgs/os-specific/linux/kbd/keymaps.nix new file mode 100644 index 000000000000..ecb7045ed278 --- /dev/null +++ b/pkgs/os-specific/linux/kbd/keymaps.nix @@ -0,0 +1,35 @@ +{ stdenv, lib, fetchurl, gzip }: + +{ + dvp = stdenv.mkDerivation rec { + name = "dvp-${version}"; + version = "1.2.1"; + + src = fetchurl { + url = "http://kaufmann.no/downloads/linux/dvp-${lib.replaceStrings ["."] ["_"] version}.map.gz"; + sha256 = "0e859211cfe16a18a3b9cbf2ca3e280a23a79b4e40b60d8d01d0fde7336b6d50"; + }; + + nativeBuildInputs = [ gzip ]; + + buildCommand = '' + mkdir -p $out/share/keymaps/i386/dvorak + gzip -c -d $src > $out/share/keymaps/i386/dvorak/dvp.map + ''; + }; + + neo = stdenv.mkDerivation rec { + name = "neo-${version}"; + version = "2476"; + + src = fetchurl { + name = "neo.map"; + url = "https://svn.neo-layout.org/linux/console/neo.map?r=${version}"; + sha256 = "19mfrd31vzpsjiwc7pshxm0b0sz5dd17xrz6k079cy4im1vf0r4g"; + }; + + buildCommand = '' + install -D $src $out/share/keymaps/i386/neo/neo.map + ''; + }; +} diff --git a/pkgs/os-specific/linux/kbd/search-paths.patch b/pkgs/os-specific/linux/kbd/search-paths.patch new file mode 100644 index 000000000000..66a56041481c --- /dev/null +++ b/pkgs/os-specific/linux/kbd/search-paths.patch @@ -0,0 +1,77 @@ +diff -ru3 kbd-2.0.3-old/src/libkeymap/analyze.l kbd-2.0.3/src/libkeymap/analyze.l +--- kbd-2.0.3-old/src/libkeymap/analyze.l 2016-07-03 02:31:28.258958092 +0300 ++++ kbd-2.0.3/src/libkeymap/analyze.l 2016-07-03 02:44:53.042592223 +0300 +@@ -99,6 +99,9 @@ + static const char *const include_dirpath0[] = { "", 0 }; + static const char *const include_dirpath1[] = { "", "../include/", "../../include/", 0 }; + static const char *const include_dirpath3[] = { ++ "/etc/kbd/" KEYMAPDIR "/include/", ++ "/etc/kbd/" KEYMAPDIR "/i386/include/", ++ "/etc/kbd/" KEYMAPDIR "/mac/include/", + DATADIR "/" KEYMAPDIR "/include/", + DATADIR "/" KEYMAPDIR "/i386/include/", + DATADIR "/" KEYMAPDIR "/mac/include/", 0 +diff -ru3 kbd-2.0.3-old/src/loadkeys.c kbd-2.0.3/src/loadkeys.c +--- kbd-2.0.3-old/src/loadkeys.c 2016-07-03 02:31:28.260958091 +0300 ++++ kbd-2.0.3/src/loadkeys.c 2016-07-03 02:34:34.123871103 +0300 +@@ -26,7 +26,7 @@ + #include "keymap.h" + + static const char *progname = NULL; +-static const char *const dirpath1[] = { "", DATADIR "/" KEYMAPDIR "/**", KERNDIR "/", 0 }; ++static const char *const dirpath1[] = { "", "/etc/kbd/" KEYMAPDIR "/**", DATADIR "/" KEYMAPDIR "/**", 0 }; + static const char *const suffixes[] = { "", ".kmap", ".map", 0 }; + + static void __attribute__ ((noreturn)) +diff -ru3 kbd-2.0.3-old/src/loadunimap.c kbd-2.0.3/src/loadunimap.c +--- kbd-2.0.3-old/src/loadunimap.c 2016-07-03 02:31:28.259958091 +0300 ++++ kbd-2.0.3/src/loadunimap.c 2016-07-03 02:33:06.803911971 +0300 +@@ -28,7 +28,7 @@ + extern char *progname; + extern int force; + +-static const char *const unidirpath[] = { "", DATADIR "/" UNIMAPDIR "/", 0 }; ++static const char *const unidirpath[] = { "", "/etc/kbd/" UNIMAPDIR "/", DATADIR "/" UNIMAPDIR "/", 0 }; + static const char *const unisuffixes[] = { "", ".uni", ".sfm", 0 }; + + #ifdef MAIN +diff -ru3 kbd-2.0.3-old/src/mapscrn.c kbd-2.0.3/src/mapscrn.c +--- kbd-2.0.3-old/src/mapscrn.c 2016-07-03 02:31:28.260958091 +0300 ++++ kbd-2.0.3/src/mapscrn.c 2016-07-03 02:33:21.119905270 +0300 +@@ -25,7 +25,7 @@ + static int ctoi (char *); + + /* search for the map file in these directories (with trailing /) */ +-static const char *const mapdirpath[] = { "", DATADIR "/" TRANSDIR "/", 0 }; ++static const char *const mapdirpath[] = { "", "/etc/kbd/" TRANSDIR "/", DATADIR "/" TRANSDIR "/", 0 }; + static const char *const mapsuffixes[] = { "", ".trans", "_to_uni.trans", ".acm", 0 }; + + #ifdef MAIN +diff -ru3 kbd-2.0.3-old/src/resizecons.c kbd-2.0.3/src/resizecons.c +--- kbd-2.0.3-old/src/resizecons.c 2016-07-03 02:31:28.260958091 +0300 ++++ kbd-2.0.3/src/resizecons.c 2016-07-03 02:33:32.253900060 +0300 +@@ -100,7 +100,7 @@ + static void vga_set_cursor(int, int); + static void vga_set_verticaldisplayend_lowbyte(int); + +-const char *const dirpath[] = { "", DATADIR "/" VIDEOMODEDIR "/", 0}; ++const char *const dirpath[] = { "", "/etc/kbd/" VIDEOMODEDIR "/", DATADIR "/" VIDEOMODEDIR "/", 0}; + const char *const suffixes[] = { "", 0 }; + + int +diff -ru3 kbd-2.0.3-old/src/setfont.c kbd-2.0.3/src/setfont.c +--- kbd-2.0.3-old/src/setfont.c 2016-07-03 02:31:28.260958091 +0300 ++++ kbd-2.0.3/src/setfont.c 2016-07-03 02:33:54.315889734 +0300 +@@ -51,10 +51,10 @@ + int debug = 0; + + /* search for the font in these directories (with trailing /) */ +-const char *const fontdirpath[] = { "", DATADIR "/" FONTDIR "/", 0 }; ++const char *const fontdirpath[] = { "", "/etc/kbd/" FONTDIR "/", DATADIR "/" FONTDIR "/", 0 }; + const char *const fontsuffixes[] = { "", ".psfu", ".psf", ".cp", ".fnt", 0 }; + /* hide partial fonts a bit - loading a single one is a bad idea */ +-const char *const partfontdirpath[] = { "", DATADIR "/" FONTDIR "/" PARTIALDIR "/", 0 }; ++const char *const partfontdirpath[] = { "", "/etc/kbd/" FONTDIR "/" PARTIALDIR "/", DATADIR "/" FONTDIR "/" PARTIALDIR "/", 0 }; + const char *const partfontsuffixes[] = { "", 0 }; + + static inline int diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix index eda1863ec97b..f15f72ca5bc6 100644 --- a/pkgs/os-specific/linux/lxc/default.nix +++ b/pkgs/os-specific/linux/lxc/default.nix @@ -12,11 +12,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { name = "lxc-${version}"; - version = "2.0.1"; + version = "2.0.3"; src = fetchurl { url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz"; - sha256 = "0l4fs6ckvip5akfa0vbjfk34ddvcv0c84mmpj9yrcfl67qwn31z9"; + sha256 = "1mp83r1v9bcxjl7a441sm6plipj8aglhnmkxczp3jinlrnh41pw2"; }; nativeBuildInputs = [ diff --git a/pkgs/os-specific/linux/plymouth/default.nix b/pkgs/os-specific/linux/plymouth/default.nix index 00d330ca955e..b1b1a4649ba9 100644 --- a/pkgs/os-specific/linux/plymouth/default.nix +++ b/pkgs/os-specific/linux/plymouth/default.nix @@ -1,27 +1,32 @@ -{ stdenv, fetchurl, autoreconfHook, cairo, docbook_xsl, gtk -, libdrm, libpng, libxslt, makeWrapper, pango, pkgconfig, udev +{ stdenv, fetchurl, autoreconfHook, pkgconfig, libxslt, docbook_xsl +, gtk3, udev, systemd }: stdenv.mkDerivation rec { name = "plymouth-${version}"; - version = "0.9.0"; + version = "0.9.2"; src = fetchurl { url = "http://www.freedesktop.org/software/plymouth/releases/${name}.tar.bz2"; - sha256 = "0kfdwv179brg390ma003pmdqfvqlbybqiyp9fxrxx0wa19sjxqnk"; + sha256 = "0zympsgy5bbfl2ag5nc1jxlshpx8r1s1yyjisanpx76g88hfh31g"; }; - buildInputs = [ - autoreconfHook cairo docbook_xsl gtk libdrm libpng - libxslt makeWrapper pango pkgconfig udev + nativeBuildInputs = [ + autoreconfHook pkgconfig libxslt docbook_xsl ]; - prePatch = '' - sed -e "s#\$(\$PKG_CONFIG --variable=systemdsystemunitdir systemd)#$out/etc/systemd/system#g" \ - -i configure.ac - ''; + buildInputs = [ + gtk3 udev systemd + ]; postPatch = '' + sed -i \ + -e "s#\$(\$PKG_CONFIG --variable=systemdsystemunitdir systemd)#$out/etc/systemd/system#g" \ + -e "s#plymouthplugindir=.*#plymouthplugindir=/etc/plymouth/plugins/#" \ + -e "s#plymouththemedir=.*#plymouththemedir=/etc/plymouth/themes#" \ + -e "s#plymouthpolicydir=.*#plymouthpolicydir=/etc/plymouth/#" \ + configure.ac + configureFlags=" --prefix=$out --bindir=$out/bin @@ -29,15 +34,24 @@ stdenv.mkDerivation rec { --exec-prefix=$out --libdir=$out/lib --libexecdir=$out/lib - --sysconfdir=$out/etc + --sysconfdir=/etc --localstatedir=/var - --with-log-viewer + --with-logo=/etc/plymouth/logo.png + --with-background-color=0x000000 + --with-background-start-color-stop=0x000000 + --with-background-end-color-stop=0x000000 + --with-release-file=/etc/os-release --without-system-root-install --without-rhgb-compat-link --enable-tracing --enable-systemd-integration --enable-pango + --enable-gdm-transition --enable-gtk" + + installFlags=" + plymouthd_defaultsdir=$out/share/plymouth + plymouthd_confdir=$out/etc/plymouth" ''; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 0ba6c431c9f7..05cef1ffd505 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -16,12 +16,10 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "NixOS"; repo = "systemd"; - rev = "4ccee551f2ba8383c8b9bd06590a3cd1dfdf690f"; - sha256 = "1i4my5z7f8g5bykv1vxyw1az66s087lfqrck79kdm4hgvb4lsk6y"; + rev = "81d5aaac06b43fd72f5ab02734a17cbfb55d1f5b"; + sha256 = "1ig7jwmvaa1r4qlngjpnvvvvxhmzbxr171d257q4ryf87l93g1an"; }; - patches = [ ./hwdb-location.diff ]; - /* gave up for now! outputs = [ "out" "libudev" "doc" ]; # maybe: "dev" # note: there are many references to ${systemd}/... @@ -99,7 +97,8 @@ stdenv.mkDerivation rec { --replace /bin/echo ${coreutils}/bin/echo \ --replace /bin/cat ${coreutils}/bin/cat \ --replace /sbin/sulogin ${utillinux.bin}/sbin/sulogin \ - --replace /usr/lib/systemd/systemd-fsck $out/lib/systemd/systemd-fsck + --replace /usr/lib/systemd/systemd-fsck $out/lib/systemd/systemd-fsck \ + --replace /bin/plymouth /run/current-system/sw/bin/plymouth # To avoid dependency done substituteInPlace src/journal/catalog.c \ diff --git a/pkgs/os-specific/linux/systemd/hwdb-location.diff b/pkgs/os-specific/linux/systemd/hwdb-location.diff deleted file mode 100644 index 31e7a027f50d..000000000000 --- a/pkgs/os-specific/linux/systemd/hwdb-location.diff +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/src/libsystemd/sd-hwdb/sd-hwdb.c b/src/libsystemd/sd-hwdb/sd-hwdb.c -index 06c9831..e74825c 100644 ---- a/src/libsystemd/sd-hwdb/sd-hwdb.c -+++ b/src/libsystemd/sd-hwdb/sd-hwdb.c -@@ -268,13 +268,8 @@ static int trie_search_f(sd_hwdb *hwdb, const char *search) { - } - - static const char hwdb_bin_paths[] = -- "/etc/systemd/hwdb/hwdb.bin\0" - "/etc/udev/hwdb.bin\0" -- "/usr/lib/systemd/hwdb/hwdb.bin\0" --#ifdef HAVE_SPLIT_USR -- "/lib/systemd/hwdb/hwdb.bin\0" --#endif -- UDEVLIBEXECDIR "/hwdb.bin\0"; -+ ; - - _public_ int sd_hwdb_new(sd_hwdb **ret) { - _cleanup_hwdb_unref_ sd_hwdb *hwdb = NULL; diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix index 476f3ffcac6c..dbb3e60c3357 100644 --- a/pkgs/os-specific/linux/v4l-utils/default.nix +++ b/pkgs/os-specific/linux/v4l-utils/default.nix @@ -16,11 +16,11 @@ let in stdenv.mkDerivation rec { - name = "v4l-utils-1.6.3"; + name = "v4l-utils-1.10.1"; src = fetchurl { url = "http://linuxtv.org/downloads/v4l-utils/${name}.tar.bz2"; - sha256 = "0k46z5gqjzg702m2vs4sv6sxynq1sj14m0pgwvl2gkgg3dfbyjhn"; + sha256 = "1h1nhg5cmmzlbipak526nk4bm6d0yb217mll75f3rpg7kz1cqiv1"; }; outputs = [ "dev" "out" ]; diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix index 5328743d8b8b..3e5f6ae74800 100644 --- a/pkgs/os-specific/linux/wireguard/default.nix +++ b/pkgs/os-specific/linux/wireguard/default.nix @@ -1,7 +1,8 @@ -{ stdenv, fetchgit, libmnl, kernel }: +{ stdenv, fetchgit, libmnl, kernel ? null }: -stdenv.mkDerivation rec { +let name = "wireguard-${version}"; + version = "20160708"; src = fetchgit { @@ -10,25 +11,45 @@ stdenv.mkDerivation rec { sha256 = "1ciyjpp8c3fv95y1cypk9qyqynp8cqyh2676afq2hd33110d37ni"; }; - preConfigure = '' - cd src - sed -i /depmod/d Makefile - ''; - - buildInputs = [ libmnl ]; - - KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; - - makeFlags = [ - "DESTDIR=$(out)" - "PREFIX=/" - "INSTALL_MOD_PATH=$(out)" - ]; - meta = with stdenv.lib; { homepage = https://www.wireguard.io/; description = "Fast, modern, secure VPN tunnel"; license = licenses.gpl2; platforms = platforms.linux; }; -} + + module = stdenv.mkDerivation { + inherit src meta name; + + preConfigure = '' + cd src + sed -i '/depmod/,+1d' Makefile + ''; + + KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; + INSTALL_MOD_PATH = "\${out}"; + + buildPhase = "make module"; + + }; + + tools = stdenv.mkDerivation { + inherit src meta name; + + preConfigure = "cd src"; + + buildInputs = [ libmnl ]; + + makeFlags = [ + "DESTDIR=$(out)" + "PREFIX=/" + "-C" "tools" + ]; + + buildPhase = "make tools"; + + }; + +in if kernel == null + then tools + else module |