From 9eb24c72ff4bf3e8c1b9ba1c3b5dd0f1b59c479d Mon Sep 17 00:00:00 2001 From: Matej Cotman Date: Sun, 28 Dec 2014 07:33:59 +0100 Subject: [PATCH 001/248] systemd: fix permissions on /var/log/journal --- nixos/modules/system/boot/systemd.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 05f8c8009bf..be62655720f 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -1032,6 +1032,11 @@ in '' # This file is created automatically and should not be modified. # Please change the option ‘systemd.tmpfiles.rules’ instead. + + z /var/log/journal 2755 root systemd-journal - - + z /var/log/journal/%m 2755 root systemd-journal - - + z /var/log/journal/%m/* 0640 root systemd-journal - - + ${concatStringsSep "\n" cfg.tmpfiles.rules} ''; From c0d95c2f80a4a3b51e6ee589462c8634b14edd20 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Fri, 2 Jan 2015 18:10:11 +0300 Subject: [PATCH 002/248] linux-firmware: add ibt-hw firmware --- .../linux/firmware/firmware-linux-nonfree/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix index 2868be73d39..78c1e857ebe 100644 --- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -17,8 +17,7 @@ let { name = "intelwimax"; sha256 = "1avls6sx0pbsffrcs267r2r2rqlx2xrv8j9znc7ix1bi8g4fx91v"; } { name = "ipw2x00"; sha256 = "19zqc30hsz7snw020izm81qbap3xsygggnmbspxndw7jihz0amjs"; } { name = "ivtv"; sha256 = "1f2004lpw5nr9rxj3cl4ba0jdm51wkvsrbiy4drakawpjwh5y4qw"; } - # Disabled as it is packaged separately - #{ name = "iwlwifi"; sha256 = "1538r751mx8nhg3xibnnrhnflvf3kl5y9rnm7rpl4wyrfgx61amd"; } + { name = "iwlwifi"; sha256 = "1538r751mx8nhg3xibnnrhnflvf3kl5y9rnm7rpl4wyrfgx61amd"; } { name = "libertas"; sha256 = "0svkqlsiqgmh970r38nh0c1pjx41zdfql2k2k5djw99fscjklacd"; } { name = "linux"; sha256 = "0j62v6vbh2287j3x5c9i0xspmhyh5k1z8dyajgix7k37xi4jvpy2"; } { name = "linux-nonfree"; sha256 = "1f5x72rzicivwm0sn9l6wjkx7z9a0b8n6c9m60xrqg36ly7mizzp"; } @@ -58,6 +57,8 @@ in stdenv.mkDerivation { installPhase = '' mkdir -p $out/share $out/lib/firmware cp -r lib/firmware/* "$out/lib/firmware/" + # iwlwifi is packaged separately, but we need Bluetooth fw + rm $out/lib/firmware/iwlwifi* cp -r usr/share/doc $out/share/ find $out/share -name changelog.gz | xargs rm ''; From 2ea5f48939ff91b6d5bd2cf3150d8f06760d2135 Mon Sep 17 00:00:00 2001 From: Thomas Strobel Date: Mon, 26 Jan 2015 21:24:17 +0100 Subject: [PATCH 003/248] Add linuxPackages_custom helper for installing a kernel with custom config file. --- pkgs/top-level/all-packages.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 90dfd2876e8..87ea62da993 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8709,6 +8709,11 @@ let linuxPackages_3_17 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_17 linuxPackages_3_17); linuxPackages_3_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_18 linuxPackages_3_18); linuxPackages_testing = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing linuxPackages_testing); + linuxPackages_custom = {version, src, configfile}: + let linuxPackages_self = (linuxPackagesFor (pkgs.linuxManualConfig {inherit version src configfile; + allowImportFromDerivation=true;}) + linuxPackages_self); + in recurseIntoAttrs linuxPackages_self; # grsecurity flavors # Stable kernels From 37673708661542797d4ad6de2c74e3ce6863b2cb Mon Sep 17 00:00:00 2001 From: Thomas Strobel Date: Wed, 14 Jan 2015 10:30:57 +0100 Subject: [PATCH 004/248] Add target parameter to grub installation chain --- .../modules/system/boot/loader/grub/grub.nix | 34 ++++- .../system/boot/loader/grub/install-grub.pl | 120 +++++++++++++++++- pkgs/tools/misc/grub/2.0x.nix | 13 ++ pkgs/top-level/perl-packages.nix | 8 ++ 4 files changed, 163 insertions(+), 12 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 3ea00e40c3b..a149d642abf 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -6,6 +6,8 @@ let cfg = config.boot.loader.grub; + efi = config.boot.loader.efi; + realGrub = if cfg.version == 1 then pkgs.grub else pkgs.grub2.override { zfsSupport = cfg.zfsSupport; }; @@ -16,21 +18,31 @@ let then null else realGrub; + grubEfi = + # EFI version of Grub v2 + if (cfg.devices != ["nodev"]) && cfg.efiSupport && (cfg.version == 2) + then pkgs.grub2.override { zfsSupport = cfg.zfsSupport; efiSupport = cfg.efiSupport; } + else null; + f = x: if x == null then "" else "" + x; grubConfig = pkgs.writeText "grub-config.xml" (builtins.toXML { splashImage = f config.boot.loader.grub.splashImage; grub = f grub; + grubTarget = f grub.grubTarget; shell = "${pkgs.stdenv.shell}"; fullVersion = (builtins.parseDrvName realGrub.name).version; + grubEfi = f grubEfi; + grubTargetEfi = if cfg.efiSupport && (cfg.version == 2) then f grubEfi.grubTarget else ""; + inherit (efi) efiSysMountPoint canTouchEfiVariables; inherit (cfg) version extraConfig extraPerEntryConfig extraEntries extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels timeout - default devices fsIdentifier; - path = (makeSearchPath "bin" [ + default devices fsIdentifier efiSupport; + path = (makeSearchPath "bin" ([ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils pkgs.btrfsProgs - pkgs.utillinux - ]) + ":" + (makeSearchPath "sbin" [ + pkgs.utillinux ] ++ (if cfg.efiSupport && (cfg.version == 2) then [pkgs.efibootmgr ] else []) + )) + ":" + (makeSearchPath "sbin" [ pkgs.mdadm pkgs.utillinux ]); }); @@ -231,6 +243,18 @@ in type = types.bool; description = '' Whether grub should be build against libzfs. + ZFS support is only available for GRUB v2. + This option is ignored for GRUB v1. + ''; + }; + + efiSupport = mkOption { + default = false; + type = types.bool; + description = '' + Whether grub should be build with EFI support. + EFI support is only available for GRUB v2. + This option is ignored for GRUB v1. ''; }; @@ -269,7 +293,7 @@ in if cfg.devices == [] then throw "You must set the option ‘boot.loader.grub.device’ to make the system bootable." else - "PERL5LIB=${makePerlPath (with pkgs.perlPackages; [ FileSlurp XMLLibXML XMLSAX ])} " + + "PERL5LIB=${makePerlPath (with pkgs.perlPackages; [ FileSlurp XMLLibXML XMLSAX ListCompare ])} " + (if cfg.enableCryptodisk then "GRUB_ENABLE_CRYPTODISK=y " else "") + "${pkgs.perl}/bin/perl ${./install-grub.pl} ${grubConfig}"; diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index ffee0271e93..74a934c6793 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -7,6 +7,7 @@ use File::Path; use File::stat; use File::Copy; use File::Slurp; +require List::Compare; use POSIX; use Cwd; @@ -39,6 +40,7 @@ sub runCommand { my $grub = get("grub"); my $grubVersion = int(get("version")); +my $grubTarget = get("grubTarget"); my $extraConfig = get("extraConfig"); my $extraPrepareConfig = get("extraPrepareConfig"); my $extraPerEntryConfig = get("extraPerEntryConfig"); @@ -50,6 +52,10 @@ my $copyKernels = get("copyKernels") eq "true"; my $timeout = int(get("timeout")); my $defaultEntry = int(get("default")); my $fsIdentifier = get("fsIdentifier"); +my $grubEfi = get("grubEfi"); +my $grubTargetEfi = get("grubTargetEfi"); +my $canTouchEfiVariables = get("canTouchEfiVariables"); +my $efiSysMountPoint = get("efiSysMountPoint"); $ENV{'PATH'} = get("path"); die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2; @@ -103,6 +109,8 @@ sub GetFs { # Skip the read-only bind-mount on /nix/store. next if $mountPoint eq "/nix/store" && (grep { $_ eq "rw" } @superOptions) && (grep { $_ eq "ro" } @mountOptions); + # Skip mount point generated by systemd-efi-boot-generator? + next if $fsType eq "autofs"; # Ensure this matches the intended directory next unless PathInMount($dir, $mountPoint); @@ -402,16 +410,114 @@ foreach my $fn (glob "/boot/kernels/*") { } -# Install GRUB if the version changed from the last time we installed -# it. FIXME: shouldn't we reinstall if ‘devices’ changed? -my $prevVersion = readFile("/boot/grub/version") // ""; -if (($ENV{'NIXOS_INSTALL_GRUB'} // "") eq "1" || get("fullVersion") ne $prevVersion) { +# +# Install GRUB if the parameters changed from the last time we installed it. +# + +struct(GrubState => { + version => '$', + efi => '$', + devices => '$', + efiMountPoint => '$', +}); +sub readGrubState { + my $defaultGrubState = GrubState->new(version => "", efi => "", devices => "", efiMountPoint => "" ); + open FILE, "; + chomp($version); + my $efi = ; + chomp($efi); + my $devices = ; + chomp($devices); + my $efiMountPoint = ; + chomp($efiMountPoint); + close FILE; + my $grubState = GrubState->new(version => $version, efi => $efi, devices => $devices, efiMountPoint => $efiMountPoint ); + return $grubState +} + +sub getDeviceTargets { + my @devices = (); foreach my $dev ($dom->findnodes('/expr/attrs/attr[@name = "devices"]/list/string/@value')) { $dev = $dev->findvalue(".") or die; + push(@devices, $dev); + } + return @devices; +} + +# check whether to install GRUB EFI or not +sub getEfiTarget { + if (($grub ne "") && ($grubEfi ne "")) { + # EFI can only be installed when target is set; + # A target is also required then for non-EFI grub + if (($grubTarget eq "") || ($grubTargetEfi eq "")) { die } + else { return "both" } + } elsif (($grub ne "") && ($grubEfi eq "")) { + # TODO: It would be safer to disallow non-EFI grub installation if no taget is given. + # If no target is given, then grub auto-detects the target which can lead to errors. + # E.g. it seems as if grub would auto-detect a EFI target based on the availability + # of a EFI partition. + # However, it seems as auto-detection is currently relied on for non-x86_64 and non-i386 + # architectures in NixOS. That would have to be fixed in the nixos modules first. + return "no" + } elsif (($grub eq "") && ($grubEfi ne "")) { + # EFI can only be installed when target is set; + if ($grubTargetEfi eq "") { die } + else {return "only" } + } else { + # at least one grub target has to be given + die + } +} + +my @deviceTargets = getDeviceTargets(); +my $efiTarget = getEfiTarget(); +my $prevGrubState = readGrubState(); +my @prevDeviceTargets = split/:/, $prevGrubState->devices; + +my $devicesDiffer = scalar (List::Compare->new( '-u', '-a', \@deviceTargets, \@prevDeviceTargets)->get_symmetric_difference() ); +my $versionDiffer = (get("fullVersion") eq \$prevGrubState->version); +my $efiDiffer = ($efiTarget eq \$prevGrubState->efi); +my $efiMountPointDiffer = ($efiSysMountPoint eq \$prevGrubState->efiMountPoint); +my $requireNewInstall = $devicesDiffer || $versionDiffer || $efiDiffer || $efiMountPointDiffer || (($ENV{'NIXOS_INSTALL_GRUB'} // "") eq "1"); + + +# install non-EFI GRUB +if (($requireNewInstall != 0) && ($efiTarget eq "no" || $efiTarget eq "both")) { + foreach my $dev (@deviceTargets) { next if $dev eq "nodev"; print STDERR "installing the GRUB $grubVersion boot loader on $dev...\n"; - system("$grub/sbin/grub-install", "--recheck", Cwd::abs_path($dev)) == 0 - or die "$0: installation of GRUB on $dev failed\n"; + if ($grubTarget eq "") { + system("$grub/sbin/grub-install", "--recheck", Cwd::abs_path($dev)) == 0 + or die "$0: installation of GRUB on $dev failed\n"; + } else { + system("$grub/sbin/grub-install", "--recheck", "--target=$grubTarget", Cwd::abs_path($dev)) == 0 + or die "$0: installation of GRUB on $dev failed\n"; + } } - writeFile("/boot/grub/version", get("fullVersion")); +} + + +# install EFI GRUB +if (($requireNewInstall != 0) && ($efiTarget eq "only" || $efiTarget eq "both")) { + print STDERR "installing the GRUB $grubVersion EFI boot loader into $efiSysMountPoint...\n"; + if ($canTouchEfiVariables eq "true") { + system("$grubEfi/sbin/grub-install", "--recheck", "--target=$grubTargetEfi", "--efi-directory=$efiSysMountPoint") == 0 + or die "$0: installation of GRUB EFI into $efiSysMountPoint failed\n"; + } else { + system("$grubEfi/sbin/grub-install", "--recheck", "--target=$grubTargetEfi", "--efi-directory=$efiSysMountPoint", "--no-nvram") == 0 + or die "$0: installation of GRUB EFI into $efiSysMountPoint failed\n"; + } +} + + +# update GRUB state file +if ($requireNewInstall != 0) { + open FILE, ">/boot/grub/state" or die "cannot create /boot/grub/state: $!\n"; + print FILE get("fullVersion"), "\n" or die; + print FILE $efiTarget, "\n" or die; + print FILE join( ":", @deviceTargets ), "\n" or die; + print FILE $efiSysMountPoint, "\n" or die; + close FILE or die; } diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index 1dbdfff7448..0f2f9fc7bf3 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -7,12 +7,18 @@ with stdenv.lib; let + pcSystems = { + "i686-linux".target = "i386"; + "x86_64-linux".target = "i386"; + }; + efiSystems = { "i686-linux".target = "i386"; "x86_64-linux".target = "x86_64"; }; canEfi = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) efiSystems); + inPCSystems = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) pcSystems); prefix = "grub${if efiSupport then "-efi" else ""}${optionalString zfsSupport "-zfs"}"; @@ -82,6 +88,13 @@ stdenv.mkDerivation rec { configureFlags = optional zfsSupport "--enable-libzfs" ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystems.${stdenv.system}.target}" "--program-prefix=" ]; + # save target that grub is compiled for + grubTarget = if efiSupport + then "${efiSystems.${stdenv.system}.target}-efi" + else if inPCSystems + then "${pcSystems.${stdenv.system}.target}-pc" + else ""; + doCheck = false; enableParallelBuilding = true; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2c7a8e0f530..7b37743358a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -227,6 +227,14 @@ let self = _self // overrides; _self = with self; { }; }; + ListCompare = buildPerlPackage { + name = "List-Compare-1.18"; + src = fetchurl { + url = mirror://cpan/authors/id/J/JK/JKEENAN/List-Compare-0.39.tar.gz; + sha256 = "1v4gn176faanzf1kr9axdp1220da7nkvz0d66mnk34nd0skjjxcl"; + }; + }; + ArchiveCpio = buildPerlPackage { name = "Archive-Cpio-0.09"; src = fetchurl { From faa5dccab86f599c4d4c0c74aa43ddc352fe9fd9 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 31 Jan 2015 10:51:20 -0500 Subject: [PATCH 005/248] new Go support function 'buildGoPackage' add a setupHook to the Go compiler that builds a GOPATH new buildGoPackage function that overides the phases of stdenv --- doc/language-support.xml | 79 ++++++++++ pkgs/development/compilers/go/1.3.nix | 3 + pkgs/development/compilers/go/1.4.nix | 2 + pkgs/development/compilers/go/setup-hook.sh | 5 + .../go-modules/generic/default.nix | 84 +++++++++++ .../networking/cjdns/cjdcmd-ng/default.nix | 42 ++++++ pkgs/top-level/all-packages.nix | 21 +++ pkgs/top-level/go-packages.nix | 139 ++++++++++++++++++ 8 files changed, 375 insertions(+) create mode 100644 pkgs/development/compilers/go/setup-hook.sh create mode 100644 pkgs/development/go-modules/generic/default.nix create mode 100644 pkgs/tools/networking/cjdns/cjdcmd-ng/default.nix create mode 100644 pkgs/top-level/go-packages.nix diff --git a/doc/language-support.xml b/doc/language-support.xml index 7d016ae6fb9..f33202d4553 100644 --- a/doc/language-support.xml +++ b/doc/language-support.xml @@ -624,6 +624,85 @@ sed -i '/ = data_files/d' setup.py
Go + +The function buildGoPackage builds +standard Go packages. + + +buildGoPackage + +net = buildGoPackage rec { + name = "go.net-${rev}"; + goPackagePath = "code.google.com/p/go.net"; + subPackages = [ "ipv4" "ipv6" ]; + rev = "28ff664507e4"; + src = fetchhg { + inherit rev; + url = "https://${goPackagePath}"; + sha256 = "1lkz4c9pyz3yz2yz18hiycvlfhgy3jxp68bs7mv7bcfpaj729qav"; + }; + propagatedBuildInputs = [ goPackages.text ]; +}; + + + + is an example expression using buildGoPackage, +the following arguments are of special significance to the function: + + + + + + goPackagePath specifies the package's canonical Go import path. + + + + + + subPackages limits the builder from building child packages that + have not been listed. If subPackages is not specified, all child + packages will be built. + + + In this example only code.google.com/p/go.net/ipv4 and + code.google.com/p/go.net/ipv4 will be built. + + + + + + propagatedBuildInputs is where the dependencies of a Go library are + listed. Only libraries should list propagatedBuildInputs. If a standalone + program is being build instead, use buildInputs. If a library's tests require + additional dependencies that are not propagated, they should be listed in buildInputs. + + + + + + + + +Reusable Go libraries may be found in the goPackages set. You can test +build a Go package as follows: + + +$ nix-build -A goPackages.net + + + + + +You may use Go packages installed into the active Nix profiles by adding +the following to your ~/.bashrc: + + +for p in $NIX_PROFILES; do + GOPATH="$p/share/go:$GOPATH" +done + + + To extract dependency information from a Go package in automated way use go2nix.
diff --git a/pkgs/development/compilers/go/1.3.nix b/pkgs/development/compilers/go/1.3.nix index 2f23698059f..47132023e5a 100644 --- a/pkgs/development/compilers/go/1.3.nix +++ b/pkgs/development/compilers/go/1.3.nix @@ -81,6 +81,7 @@ stdenv.mkDerivation { installPhase = '' export CC=cc mkdir -p "$out/bin" + unset GOPATH export GOROOT="$(pwd)/" export GOBIN="$out/bin" export PATH="$GOBIN:$PATH" @@ -99,6 +100,8 @@ stdenv.mkDerivation { cp ./misc/emacs/* $out/share/emacs/site-lisp/ ''; + setupHook = ./setup-hook.sh; + meta = { homepage = http://golang.org/; description = "The Go Programming language"; diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix index 45fd8e117b2..b1558e56cec 100644 --- a/pkgs/development/compilers/go/1.4.nix +++ b/pkgs/development/compilers/go/1.4.nix @@ -95,6 +95,8 @@ stdenv.mkDerivation { go test -v $TOOL_ROOT/cover $TOOL_ROOT/vet # $TOOL_ROOT/godoc ''; + setupHook = ./setup-hook.sh; + meta = { homepage = http://golang.org/; description = "The Go Programming language"; diff --git a/pkgs/development/compilers/go/setup-hook.sh b/pkgs/development/compilers/go/setup-hook.sh new file mode 100644 index 00000000000..1b91c8312b8 --- /dev/null +++ b/pkgs/development/compilers/go/setup-hook.sh @@ -0,0 +1,5 @@ +addToGoPath() { + addToSearchPath GOPATH $1/share/go +} + +envHooks=(${envHooks[@]} addToGoPath) diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix new file mode 100644 index 00000000000..6822af54dcd --- /dev/null +++ b/pkgs/development/go-modules/generic/default.nix @@ -0,0 +1,84 @@ +{ go }: + +{ name, buildInputs ? [] + +# Go import path of the package +, goPackagePath + +, meta ? {}, ... } @ args: + +go.stdenv.mkDerivation ( args // { + name = "${go.name}-${name}"; + buildInputs = [ go ] ++ buildInputs; + + configurePhase = args.configurePhase or '' + runHook preConfigure + + cd "$NIX_BUILD_TOP" + mkdir -p "go/src/$(dirname "$goPackagePath")" + mv "$sourceRoot" "go/src/$goPackagePath" + + GOPATH=$NIX_BUILD_TOP/go:$GOPATH + + runHook postConfigure + ''; + + buildPhase = args.buildPhase or '' + runHook preBuild + + if [ -n "$subPackages" ] ; then + for p in $subPackages ; do + go install -p $NIX_BUILD_CORES -v $goPackagePath/$p + done + else + find . -type d | while read d; do + for i in $d/*.go; do + go install -p $NIX_BUILD_CORES -v $d + break + done + done + fi + + runHook postBuild + ''; + + checkPhase = args.checkPhase or '' + runHook preCheck + + if [ -n "$subPackages" ] ; then + for p in $subPackages ; do + go test -p $NIX_BUILD_CORES -v $goPackagePath/$p + done + else + find . -type d | while read d; do + for i in $d/*_test.go; do + go test -p $NIX_BUILD_CORES -v $d + break + done + done + fi + + runHook postCheck + ''; + + installPhase = args.installPhase or '' + runHook preInstall + + local dir + for d in pkg src; do + mkdir -p $out/share/go + dir="$NIX_BUILD_TOP/go/$d" + [ -e "$dir" ] && cp -r $dir $out/share/go + done + + dir="$NIX_BUILD_TOP/go/bin" + [ -e "$dir" ] && cp -r $dir $out + + runHook postInstall + ''; + + meta = meta // { + # add an extra maintainer to every package + maintainers = (meta.maintainers or []) ++ [ go.stdenv.lib.maintainers.emery ]; + }; +}) diff --git a/pkgs/tools/networking/cjdns/cjdcmd-ng/default.nix b/pkgs/tools/networking/cjdns/cjdcmd-ng/default.nix new file mode 100644 index 00000000000..fde962c1722 --- /dev/null +++ b/pkgs/tools/networking/cjdns/cjdcmd-ng/default.nix @@ -0,0 +1,42 @@ +{ stdenv, buildGoPackage, goPackages, fetchurl, cjdns }: + +with goPackages; + +let + go-cjdns = buildGoPackage rec { + version = "2.1.0"; + name = "go-cjdns-${version}"; + + goPackagePath = "github.com/ehmry/go-cjdns"; + subPackages = [ "admin" "config" "key" ]; + + src = fetchurl { + url = "https://${goPackagePath}/archive/v${version}.tar.gz"; + name = "${name}.tar.gz"; + sha256 = "1ys47zdz9dv45w5j31z020z72yy6yrfas9c5777mwl42925s9bnf"; + }; + buildInputs = [ goconvey ]; + propagatedBuildInputs = [ crypto go-bencode ]; + }; +in +let version = "0.8.3"; in +buildGoPackage rec { + name = "cjdcmd-ng-${version}"; + goPackagePath = "github.com/ehmry/cjdcmd-ng"; + + src = fetchurl { + url = "https://${goPackagePath}/archive/v${version}.tar.gz"; + name = "${name}.tar.gz"; + sha256 = "10j2f00byz4vrcyk8mxw5f9l8ikkdmi8044mnnwndkjky3m9xj43"; + }; + + buildInputs = [ go-cjdns cobra ]; + + meta = with stdenv.lib; { + description = "Utility for interacting with CJDNS"; + homepage = https://github.com/ehmry/cjdcmd-ng; + mantainers = with maintainers; [ emery ]; + license = licenses.gpl3Plus; + platforms = cjdns.meta.platforms; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 134116cba58..98252d8df23 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -878,6 +878,7 @@ let chunksync = callPackage ../tools/backup/chunksync { }; cjdns = callPackage ../tools/networking/cjdns { }; + cjdcmd-ng = callPackage ../tools/networking/cjdns/cjdcmd-ng { }; cksfv = callPackage ../tools/networking/cksfv { }; @@ -7589,6 +7590,26 @@ let yuicompressor = callPackage ../development/tools/yuicompressor { }; + ### DEVELOPMENT / GO MODULES + + go13Packages = recurseIntoAttrs (callPackage ./go-packages.nix { + go = go_1_3; + buildGoPackage = import ../development/go-modules/generic { + go = go_1_3; + }; + overrides = (config.goPackageOverrides or (p: {})) pkgs; + }); + + go14Packages = recurseIntoAttrs (callPackage ./go-packages.nix { + go = go_1_4; + buildGoPackage = import ../development/go-modules/generic { + go = go_1_4; + }; + overrides = (config.goPackageOverrides or (p: {})) pkgs; + }); + + goPackages = go14Packages; + ### DEVELOPMENT / LISP MODULES asdf = callPackage ../development/lisp-modules/asdf { diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix new file mode 100644 index 00000000000..128af92eb70 --- /dev/null +++ b/pkgs/top-level/go-packages.nix @@ -0,0 +1,139 @@ +/* This file defines the composition for Go packages. */ + +{ overrides, stdenv, go, buildGoPackage +,fetchgit, fetchhg, fetchurl, fetchFromGitHub }: + +let self = _self // overrides; _self = with self; { + + inherit go buildGoPackage; + + ## OFFICIAL GO PACKAGES + + image = buildGoPackage rec { + rev = "490b1ad139b3"; + name = "go.image-${rev}"; + goPackagePath = "code.google.com/p/go.image"; + src = fetchhg { + inherit rev; + url = "https://${goPackagePath}"; + sha256 = "02m6ifwby2fi88njarbbb6dimwg0pd2b6llkgyadh4b9wzp2vy4r"; + }; + }; + + net = buildGoPackage rec { + rev = "3338d5f109e9"; + name = "go.net-${rev}"; + goPackagePath = "code.google.com/p/go.net"; + src = fetchhg { + inherit rev; + url = "https://${goPackagePath}"; + sha256 = "0yz807y3ac07x3nf0qlaw1w1i6asynrpyssjl8jyv3pplww0qj7i"; + }; + propagatedBuildInputs = [ text ]; + }; + + text = buildGoPackage rec { + rev = "024681b033be"; + name = "go.text-${rev}"; + goPackagePath = "code.google.com/p/go.text"; + src = fetchhg { + inherit rev; + url = "https://${goPackagePath}"; + sha256 = "19px5pw5mvwjb7ymivfkkkr6cyl2npv834jxlr6y0x5ca1djhsci"; + }; + doCheck = false; + }; + + ## THIRD PARTY + + cobra = buildGoPackage rec { + date = "20140617"; + rev = "10a8494a87448bf5003222d9974f166437e7f042"; + name = "cobra-${date}-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/spf13/cobra"; + src = fetchgit { + inherit rev; + url = "https://${goPackagePath}.git"; + sha256 = "1ydcccx0zdswca4v9hfmrn8ck42h485hy3wrd9k7y6mra3r6c08j"; + }; + propagatedBuildInputs = [ pflag ]; + }; + + goconvey = buildGoPackage rec { + version = "1.5.0"; + name = "goconvey-${version}"; + goPackagePath = "github.com/smartystreets/goconvey"; + src = fetchurl { + name = "${name}.tar.gz"; + url = "https://github.com/smartystreets/goconvey/archive/${version}.tar.gz"; + sha256 = "0g3965cb8kg4kf9b0klx4pj9ycd7qwbw1jqjspy6i5d4ccd6mby4"; + }; + buildInputs = [ oglematchers ]; + doCheck = false; # please check again + }; + + go-bencode = buildGoPackage rec { + version = "1.1.1"; + name = "go-bencode-${version}"; + goPackagePath = "github.com/ehmry/go-bencode"; + + src = fetchurl { + url = "https://${goPackagePath}/archive/v${version}.tar.gz"; + sha256 = "0y2kz2sg1f7mh6vn70kga5d0qhp04n01pf1w7k6s8j2nm62h24j6"; + }; + }; + + oglematchers = buildGoPackage rec { + rev = "4fc24f97b5b74022c2a3f4ca7eed57ca29083d3e"; + name = "oglematchers-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/jacobsa/oglematchers"; + src = fetchgit { + inherit rev; + url = "https://${goPackagePath}.git"; + sha256 = "4075ede31601adf8c4e92739693aebffa3718c641dfca75b09cf6b4bd6c26cc0"; + }; + #goTestInputs = [ ogletest ]; + doCheck = false; # infinite recursion + }; + + oglemock = buildGoPackage rec { + rev = "d054ecee522bdce4481690cdeb09d1b4c44da4e1"; + name = "oglemock-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/jacobsa/oglemock"; + src = fetchgit { + inherit rev; + url = "https://${goPackagePath}.git"; + sha256 = "685e7fc4308d118ae25467ba84c64754692a7772c77c197f38d8c1b63ea81da2"; + }; + buildInputs = [ oglematchers ]; + #goTestInputs = [ ogletest ]; + doCheck = false; # infinite recursion + }; + + ogletest = buildGoPackage rec { + rev = "7de485607c3f215cf92c1f793b5d5a7de46ec3c7"; + name = "ogletest-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/jacobsa/ogletest"; + src = fetchgit { + inherit rev; + url = "https://${goPackagePath}.git"; + sha256 = "0cfc43646d59dcea5772320f968aef2f565fb5c46068d8def412b8f635365361"; + }; + buildInputs = [ oglemock oglematchers ]; + doCheck = false; # check this again + }; + + pflag = buildGoPackage rec { + date = "20131112"; + rev = "94e98a55fb412fcbcfc302555cb990f5e1590627"; + name = "pflag-${date}-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/spf13/pflag"; + src = fetchgit { + inherit rev; + url = "https://${goPackagePath}.git"; + sha256 = "0z8nzdhj8nrim8fz11magdl0wxnisix9p2kcvn5kkb3bg8wmxhbg"; + }; + doCheck = false; # bad import path in tests + }; + +}; in self From b3dd66dee17ce4b4ed50734a7cb633dcc4249ffb Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 3 Feb 2015 18:13:07 +0100 Subject: [PATCH 006/248] buildGoPackage: add $makeFlags to go install call --- pkgs/development/go-modules/generic/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix index 6822af54dcd..8259de05cf1 100644 --- a/pkgs/development/go-modules/generic/default.nix +++ b/pkgs/development/go-modules/generic/default.nix @@ -28,12 +28,12 @@ go.stdenv.mkDerivation ( args // { if [ -n "$subPackages" ] ; then for p in $subPackages ; do - go install -p $NIX_BUILD_CORES -v $goPackagePath/$p + go install $makeFlags -p $NIX_BUILD_CORES -v $goPackagePath/$p done else find . -type d | while read d; do for i in $d/*.go; do - go install -p $NIX_BUILD_CORES -v $d + go install $makeFlags -p $NIX_BUILD_CORES -v $d break done done From fff55a968ed8d67cd5d635aee1bb4c63d7c94f22 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Fri, 30 Jan 2015 20:43:01 -0200 Subject: [PATCH 007/248] Update NixOS module files to include WindowMaker According to a hint on NixOS mailing list[1], I updated nixos/modules/services/x11/window-managers/default.nix to include windowmaker. 1 - https://github.com/NixOS/nixpkgs/pull/4066#issuecomment-72017611 --- .../services/x11/window-managers/default.nix | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index 4f2a2309b60..7ec32fe83b5 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -7,19 +7,19 @@ let in { - imports = - [ ./compiz.nix - ./openbox.nix - ./metacity.nix - ./none.nix - ./twm.nix - ./wmii.nix - ./xmonad.nix - ./i3.nix - ./herbstluftwm.nix - ./bspwm.nix - ./stumpwm.nix - ]; + imports = [ + ./bspwm.nix + ./compiz.nix + ./herbstluftwm.nix + ./i3.nix + ./metacity.nix + ./openbox.nix + ./stumpwm.nix + ./twm.nix + ./windowmaker.nix + ./wmii.nix + ./xmonad.nix + ./none.nix ]; options = { @@ -61,4 +61,4 @@ in config = { services.xserver.displayManager.session = cfg.session; }; -} \ No newline at end of file +} From 96701d6ff6f78246f825ddf8485ce78085e4a8ce Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 3 Feb 2015 18:13:14 +0100 Subject: [PATCH 008/248] Port ngrok to buildGoPackage --- pkgs/tools/misc/go-bindata/default.nix | 29 ---- pkgs/tools/misc/go-bindata/deps.nix | 28 ---- pkgs/tools/misc/ngrok/default.nix | 57 ++++---- pkgs/tools/misc/ngrok/deps.nix | 141 ------------------- pkgs/top-level/all-packages.nix | 2 - pkgs/top-level/go-packages.nix | 188 ++++++++++++++++++++++++- 6 files changed, 215 insertions(+), 230 deletions(-) delete mode 100644 pkgs/tools/misc/go-bindata/default.nix delete mode 100644 pkgs/tools/misc/go-bindata/deps.nix delete mode 100644 pkgs/tools/misc/ngrok/deps.nix diff --git a/pkgs/tools/misc/go-bindata/default.nix b/pkgs/tools/misc/go-bindata/default.nix deleted file mode 100644 index 339126f7c98..00000000000 --- a/pkgs/tools/misc/go-bindata/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, lib, go, fetchFromGitHub }: - -stdenv.mkDerivation { - name = "go-bindata"; - - src = import ./deps.nix { - inherit stdenv lib fetchFromGitHub; - }; - - buildInputs = [ go ]; - - buildPhase = '' - export GOPATH=$src - go build -v -o go-bindata github.com/jteeuwen/go-bindata/go-bindata - ''; - - installPhase = '' - mkdir -p $out/bin - cp go-bindata $out/bin - ''; - - meta = with lib; { - homepage = "https://github.com/jteeuwen/go-bindata"; - description = "A small utility which generates Go code from any file. Useful for embedding binary data in a Go program."; - maintainers = with maintainers; [ cstrahan ]; - license = licenses.cc0 ; - platforms = platforms.all; - }; -} diff --git a/pkgs/tools/misc/go-bindata/deps.nix b/pkgs/tools/misc/go-bindata/deps.nix deleted file mode 100644 index 617f7dc6abe..00000000000 --- a/pkgs/tools/misc/go-bindata/deps.nix +++ /dev/null @@ -1,28 +0,0 @@ -# This file was generated by go2nix. -{ stdenv, lib, fetchFromGitHub }: - -let - goDeps = [ - { - root = "github.com/jteeuwen/go-bindata"; - src = fetchFromGitHub { - owner = "jteeuwen"; - repo = "go-bindata"; - rev = "93b909d1499a38620121b0a5eb43a18f3bccb083"; - sha256 = "1v4jl9lnzy0p4nvjfkh96yy0w181n5mkr0kamh743911gfbpq4sh"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} diff --git a/pkgs/tools/misc/ngrok/default.nix b/pkgs/tools/misc/ngrok/default.nix index b8bdfd5c896..2d66ba27ca6 100644 --- a/pkgs/tools/misc/ngrok/default.nix +++ b/pkgs/tools/misc/ngrok/default.nix @@ -1,42 +1,41 @@ -{ stdenv, lib, go, go-bindata, fetchgit, fetchbzr, fetchhg, fetchFromGitHub }: +{ stdenv, git, fetchFromGitHub, goPackages }: -let deps = import ./deps.nix { - inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub; -}; -in stdenv.mkDerivation rec { - name = "ngrok-${version}"; - version = "1.7"; +with goPackages; - buildInputs = [ go go-bindata ]; +buildGoPackage rec { + name = "ngrok-1.7"; + goPackagePath = "ngrok"; - unpackPhase = '' - export GOPATH=$(pwd) - cp -LR ${deps}/src src - chmod u+w -R src - sourceRoot=src/github.com/inconshreveable/ngrok + src = fetchFromGitHub { + rev = "b7d5571aa7f12ac304b8f8286b855cc64dd9bab8"; + owner = "inconshreveable"; + repo = "ngrok"; + sha256 = "0a5iq9l9f2xdg6gnc9pj0iczhycv1w5iwcqgzzap83xfpy01xkh4"; + }; + + subPackages = [ "main/ngrok" "main/ngrokd" ]; + + preConfigure = '' + sed -e '/jteeuwen\/go-bindata/d' \ + -e '/export GOPATH/d' \ + -e 's/go get/#go get/' \ + -e 's|bin/go-bindata|go-bindata|' -i Makefile + make assets BUILDTAGS=release + export sourceRoot=$sourceRoot/src/ngrok ''; - preBuild = '' - export HOME=$(pwd) - export GOPATH=$(pwd):$GOPATH + buildInputs = [ git log4go websocket go-vhost mousetrap termbox-go go-metrics + yaml-v1 go-bindata go-update binarydist osext ]; - # don't download dependencies as we already have them - sed -i '/jteeuwen\/go-bindata/d' Makefile - sed -i '/export GOPATH/d' Makefile - sed -i 's|bin/go-bindata|go-bindata|' Makefile - ''; + makeFlags = "-tags release"; - installPhase = '' - make release-client release-server - mkdir -p $out/bin - cp bin/ngrok{d,} $out/bin - ''; - - meta = with lib; { - description = "Reverse proxy that creates a secure tunnel between from a public endpoint to a locally running web service"; + meta = with stdenv.lib; { + description = "Reverse proxy that creates a secure tunnel between from a public endpoint t +o a locally running web service"; homepage = https://ngrok.com/; license = licenses.asl20; maintainers = with maintainers; [ iElectric cstrahan ]; platforms = with platforms; linux ++ darwin; }; + } diff --git a/pkgs/tools/misc/ngrok/deps.nix b/pkgs/tools/misc/ngrok/deps.nix deleted file mode 100644 index cc1ed2f3d48..00000000000 --- a/pkgs/tools/misc/ngrok/deps.nix +++ /dev/null @@ -1,141 +0,0 @@ -# This file was generated by go2nix. -{ stdenv, lib, fetchFromGitHub, fetchgit, fetchhg, fetchbzr }: - -let - goDeps = [ - { - root = "bitbucket.org/kardianos/osext"; - src = fetchhg { - url = "https://bitbucket.org/kardianos/osext"; - rev = "10"; - sha256 = "1sj9r5pm28l9sqx6354fwp032n53znx9k8495k3dfnyqjrkvlw6n"; - }; - } - { - root = "code.google.com/p/log4go"; - src = fetchhg { - url = "https://code.google.com/p/log4go"; - rev = "48"; - sha256 = "0q906sxrmwir295virfibqvdzlaj340qh2r4ysx1ccjrjazc0q5p"; - }; - } - { - root = "github.com/gorilla/websocket"; - src = fetchFromGitHub { - owner = "gorilla"; - repo = "websocket"; - rev = "f4076986b69612ecb8bc7ce06d742eda6286200d"; - sha256 = "09arvwlxw15maf4z8pcgjc25hd00mckqpdi0byafqfgm3nvvacvq"; - }; - } - { - root = "github.com/inconshreveable/go-update"; - src = fetchFromGitHub { - owner = "inconshreveable"; - repo = "go-update"; - rev = "c1385108bc3a016f1c88b75ea7d2e2a356a1571d"; - sha256 = "16zaxa0i07ismxdmkvjj4dpyc9lgp6wa94q090m9a48si40w9sjn"; - }; - } - { - root = "github.com/inconshreveable/go-vhost"; - src = fetchFromGitHub { - owner = "inconshreveable"; - repo = "go-vhost"; - rev = "c4c28117502e4bf00960c8282b2d1c51c865fe2c"; - sha256 = "1rway6sls6fl2s2jk20ajj36rrlzh9944ncc9pdd19kifix54z32"; - }; - } - { - root = "github.com/inconshreveable/mousetrap"; - src = fetchFromGitHub { - owner = "inconshreveable"; - repo = "mousetrap"; - rev = "9dbb96d2c3a964935b0870b5abaea13c98b483aa"; - sha256 = "1f9g8vm18qv1rcb745a4iahql9vfrz0jni9mnzriab2wy1pfdl5b"; - }; - } - { - root = "github.com/inconshreveable/ngrok"; - src = fetchFromGitHub { - owner = "inconshreveable"; - repo = "ngrok"; - rev = "b7d5571aa7f12ac304b8f8286b855cc64dd9bab8"; - sha256 = "0a5iq9l9f2xdg6gnc9pj0iczhycv1w5iwcqgzzap83xfpy01xkh4"; - }; - } - { - root = "github.com/influxdb/influxdb-go"; - src = fetchFromGitHub { - owner = "influxdb"; - repo = "influxdb-go"; - rev = "63c9a5f67dcb633d05164bf8442160c9e2e402f7"; - sha256 = "16in1xhx94pir06aw166inn0hzpb7836xbws16laabs1p2np7bld"; - }; - } - { - root = "github.com/kr/binarydist"; - src = fetchFromGitHub { - owner = "kr"; - repo = "binarydist"; - rev = "9955b0ab8708602d411341e55fffd7e0700f86bd"; - sha256 = "11wncbbbrdcxl5ff3h6w8vqfg4bxsf8709mh6vda0cv236flkyn3"; - }; - } - { - root = "github.com/nsf/termbox-go"; - src = fetchFromGitHub { - owner = "nsf"; - repo = "termbox-go"; - rev = "9aecf65084a5754f12d27508fa2e6ed56851953b"; - sha256 = "16sak07bgvmax4zxfrd4jia1dgygk733xa8vk8cdx28z98awbfsh"; - }; - } - { - root = "github.com/rcrowley/go-metrics"; - src = fetchFromGitHub { - owner = "rcrowley"; - repo = "go-metrics"; - rev = "f770e6f5e91a8770cecee02d5d3f7c00b023b4df"; - sha256 = "07dc74kiam8v5my7rhi3yxqrpnaapladhk8b3qbnrpjk3shvnx5f"; - }; - } - { - root = "github.com/stathat/go"; - src = fetchFromGitHub { - owner = "stathat"; - repo = "go"; - rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77"; - sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi"; - }; - } - { - root = "gopkg.in/check.v1"; - src = fetchgit { - url = "https://github.com/go-check/check.git"; - rev = "871360013c92e1c715c2de6d06b54899468a8a2d"; - sha256 = "0i83qjmd4ri9mrfddhsbpj9nb43rf2j9803k030fj155j31klwcx"; - }; - } - { - root = "gopkg.in/yaml.v1"; - src = fetchgit { - url = "https://github.com/go-yaml/yaml.git"; - rev = "b0c168ac0cf9493da1f9bb76c34b26ffef940b4a"; - sha256 = "0jbdy41pplf2d1j24qwr8gc5qsig6ai5ch8rwgvg72kq9q0901cy"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 98252d8df23..d541dfcee59 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3503,8 +3503,6 @@ let go-repo-root = callPackage ../development/tools/misc/go-repo-root { }; - go-bindata = callPackage ../tools/misc/go-bindata { }; - gox = callPackage ../development/compilers/go/gox.nix { }; gprolog = callPackage ../development/compilers/gprolog { }; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 128af92eb70..b00d1427052 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -1,6 +1,6 @@ /* This file defines the composition for Go packages. */ -{ overrides, stdenv, go, buildGoPackage +{ overrides, stdenv, go, buildGoPackage, git ,fetchgit, fetchhg, fetchurl, fetchFromGitHub }: let self = _self // overrides; _self = with self; { @@ -46,6 +46,30 @@ let self = _self // overrides; _self = with self; { ## THIRD PARTY + binarydist = buildGoPackage rec { + rev = "9955b0ab8708602d411341e55fffd7e0700f86bd"; + name = "binarydist-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/kr/binarydist"; + + src = fetchFromGitHub { + inherit rev; + owner = "kr"; + repo = "binarydist"; + sha256 = "11wncbbbrdcxl5ff3h6w8vqfg4bxsf8709mh6vda0cv236flkyn3"; + }; + }; + + check-v1 = buildGoPackage rec { + rev = "871360013c92e1c715c2de6d06b54899468a8a2d"; + name = "check-v1-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "gopkg.in/check.v1"; + src = fetchgit { + inherit rev; + url = "https://github.com/go-check/check.git"; + sha256 = "0i83qjmd4ri9mrfddhsbpj9nb43rf2j9803k030fj155j31klwcx"; + }; + }; + cobra = buildGoPackage rec { date = "20140617"; rev = "10a8494a87448bf5003222d9974f166437e7f042"; @@ -83,6 +107,107 @@ let self = _self // overrides; _self = with self; { }; }; + go-bindata = buildGoPackage rec { + version = "3.0.7"; + name = "go-bindata-${version}"; + goPackagePath = "github.com/jteeuwen/go-bindata"; + src = fetchFromGitHub { + repo = "go-bindata"; + owner = "jteeuwen"; + rev = "v${version}"; + sha256 = "1v8xwwlv6my5ixvis31m3vgz4sdc0cq82855j8gxmjp1scinv432"; + }; + + subPackages = [ "./" "go-bindata" ]; # don't build testdata + + meta = with stdenv.lib; { + homepage = "https://github.com/jteeuwen/go-bindata"; + description = "A small utility which generates Go code from any file. Useful for embedding binary data in a Go program."; + maintainers = with maintainers; [ cstrahan ]; + license = licenses.cc0 ; + platforms = platforms.all; + }; + }; + + go-metrics = buildGoPackage rec { + rev = "f770e6f5e91a8770cecee02d5d3f7c00b023b4df"; + name = "go-metrics-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/rcrowley/go-metrics"; + src = fetchFromGitHub { + inherit rev; + owner = "rcrowley"; + repo = "go-metrics"; + sha256 = "07dc74kiam8v5my7rhi3yxqrpnaapladhk8b3qbnrpjk3shvnx5f"; + }; + + buildInputs = [ influxdb-go stathat ]; + }; + + go-update = buildGoPackage rec { + rev = "c1385108bc3a016f1c88b75ea7d2e2a356a1571d"; + name = "go-update-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/inconshreveable/go-update"; + + buildInputs = [ osext binarydist ]; + + src = fetchFromGitHub { + inherit rev; + owner = "inconshreveable"; + repo = "go-update"; + sha256 = "16zaxa0i07ismxdmkvjj4dpyc9lgp6wa94q090m9a48si40w9sjn"; + }; + }; + + go-vhost = buildGoPackage rec { + rev = "c4c28117502e4bf00960c8282b2d1c51c865fe2c"; + name = "go-vhost-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/inconshreveable/go-vhost"; + src = fetchFromGitHub { + inherit rev; + owner = "inconshreveable"; + repo = "go-vhost"; + sha256 = "1rway6sls6fl2s2jk20ajj36rrlzh9944ncc9pdd19kifix54z32"; + }; + }; + + influxdb-go = buildGoPackage rec { + rev = "63c9a5f67dcb633d05164bf8442160c9e2e402f7"; + name = "influxdb-go-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/influxdb/influxdb-go"; + src = fetchFromGitHub { + inherit rev; + owner = "influxdb"; + repo = "influxdb-go"; + sha256 = "16in1xhx94pir06aw166inn0hzpb7836xbws16laabs1p2np7bld"; + }; + }; + + log4go = buildGoPackage rec { + rev = "48"; + name = "log4go-${rev}"; + goPackagePath = "code.google.com/p/log4go"; + + src = fetchhg { + inherit rev; + url = "https://${goPackagePath}"; + sha256 = "0q906sxrmwir295virfibqvdzlaj340qh2r4ysx1ccjrjazc0q5p"; + }; + + subPackages = [ "./" ]; # don't build examples + }; + + mousetrap = buildGoPackage rec { + rev = "9dbb96d2c3a964935b0870b5abaea13c98b483aa"; + name = "mousetrap-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/inconshreveable/mousetrap"; + src = fetchFromGitHub { + inherit rev; + owner = "inconshreveable"; + repo = "mousetrap"; + sha256 = "1f9g8vm18qv1rcb745a4iahql9vfrz0jni9mnzriab2wy1pfdl5b"; + }; + }; + oglematchers = buildGoPackage rec { rev = "4fc24f97b5b74022c2a3f4ca7eed57ca29083d3e"; name = "oglematchers-${stdenv.lib.strings.substring 0 7 rev}"; @@ -123,6 +248,17 @@ let self = _self // overrides; _self = with self; { doCheck = false; # check this again }; + osext = buildGoPackage rec { + rev = "10"; + name = "osext-${rev}"; + goPackagePath = "bitbucket.org/kardianos/osext"; + src = fetchhg { + inherit rev; + url = "https://${goPackagePath}"; + sha256 = "1sj9r5pm28l9sqx6354fwp032n53znx9k8495k3dfnyqjrkvlw6n"; + }; + }; + pflag = buildGoPackage rec { date = "20131112"; rev = "94e98a55fb412fcbcfc302555cb990f5e1590627"; @@ -136,4 +272,54 @@ let self = _self // overrides; _self = with self; { doCheck = false; # bad import path in tests }; + stathat = buildGoPackage rec { + rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77"; + name = "stathat-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/stathat/go"; + src = fetchFromGitHub { + inherit rev; + owner = "stathat"; + repo = "go"; + sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi"; + }; + }; + + termbox-go = buildGoPackage rec { + rev = "9aecf65084a5754f12d27508fa2e6ed56851953b"; + name = "termbox-go-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/nsf/termbox-go"; + src = fetchFromGitHub { + inherit rev; + owner = "nsf"; + repo = "termbox-go"; + sha256 = "16sak07bgvmax4zxfrd4jia1dgygk733xa8vk8cdx28z98awbfsh"; + }; + + subPackages = [ "./" ]; # prevent building _demos + }; + + websocket = buildGoPackage rec { + rev = "f4076986b69612ecb8bc7ce06d742eda6286200d"; + name = "websocket-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/gorilla/websocket"; + + src = fetchFromGitHub { + inherit rev; + owner = "gorilla"; + repo = "websocket"; + sha256 = "09arvwlxw15maf4z8pcgjc25hd00mckqpdi0byafqfgm3nvvacvq"; + }; + }; + + yaml-v1 = buildGoPackage rec { + rev = "b0c168ac0cf9493da1f9bb76c34b26ffef940b4a"; + name = "yaml-v1-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "gopkg.in/yaml.v1"; + src = fetchgit { + inherit rev; + url = "https://github.com/go-yaml/yaml.git"; + sha256 = "0jbdy41pplf2d1j24qwr8gc5qsig6ai5ch8rwgvg72kq9q0901cy"; + }; + }; + }; in self From 3e20e4c5e649e435fc714a9b14f54d7da9367115 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 3 Feb 2015 18:38:39 +0100 Subject: [PATCH 009/248] Drop cjdcmd because of broken go crypto --- .../networking/cjdns/cjdcmd-ng/default.nix | 42 ------------------- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 43 deletions(-) delete mode 100644 pkgs/tools/networking/cjdns/cjdcmd-ng/default.nix diff --git a/pkgs/tools/networking/cjdns/cjdcmd-ng/default.nix b/pkgs/tools/networking/cjdns/cjdcmd-ng/default.nix deleted file mode 100644 index fde962c1722..00000000000 --- a/pkgs/tools/networking/cjdns/cjdcmd-ng/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, buildGoPackage, goPackages, fetchurl, cjdns }: - -with goPackages; - -let - go-cjdns = buildGoPackage rec { - version = "2.1.0"; - name = "go-cjdns-${version}"; - - goPackagePath = "github.com/ehmry/go-cjdns"; - subPackages = [ "admin" "config" "key" ]; - - src = fetchurl { - url = "https://${goPackagePath}/archive/v${version}.tar.gz"; - name = "${name}.tar.gz"; - sha256 = "1ys47zdz9dv45w5j31z020z72yy6yrfas9c5777mwl42925s9bnf"; - }; - buildInputs = [ goconvey ]; - propagatedBuildInputs = [ crypto go-bencode ]; - }; -in -let version = "0.8.3"; in -buildGoPackage rec { - name = "cjdcmd-ng-${version}"; - goPackagePath = "github.com/ehmry/cjdcmd-ng"; - - src = fetchurl { - url = "https://${goPackagePath}/archive/v${version}.tar.gz"; - name = "${name}.tar.gz"; - sha256 = "10j2f00byz4vrcyk8mxw5f9l8ikkdmi8044mnnwndkjky3m9xj43"; - }; - - buildInputs = [ go-cjdns cobra ]; - - meta = with stdenv.lib; { - description = "Utility for interacting with CJDNS"; - homepage = https://github.com/ehmry/cjdcmd-ng; - mantainers = with maintainers; [ emery ]; - license = licenses.gpl3Plus; - platforms = cjdns.meta.platforms; - }; -} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d541dfcee59..4aa544f2f38 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -878,7 +878,6 @@ let chunksync = callPackage ../tools/backup/chunksync { }; cjdns = callPackage ../tools/networking/cjdns { }; - cjdcmd-ng = callPackage ../tools/networking/cjdns/cjdcmd-ng { }; cksfv = callPackage ../tools/networking/cksfv { }; From 9c6420580a34b5bdcbe0ed6d3af43cd339f98faa Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 11:37:17 +0100 Subject: [PATCH 010/248] Port golint to buildGoPackage --- pkgs/development/tools/golint/default.nix | 29 ++++++++++------------- pkgs/development/tools/golint/deps.nix | 27 --------------------- pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 14 insertions(+), 44 deletions(-) delete mode 100644 pkgs/development/tools/golint/deps.nix diff --git a/pkgs/development/tools/golint/default.nix b/pkgs/development/tools/golint/default.nix index 83dd50f8d4c..382e67ed74c 100644 --- a/pkgs/development/tools/golint/default.nix +++ b/pkgs/development/tools/golint/default.nix @@ -1,23 +1,20 @@ -{ stdenv, lib, go_1_3, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: +{ lib, goPackages, fetchFromGitHub }: -stdenv.mkDerivation rec { - name = "golint"; +with goPackages; - src = import ./deps.nix { - inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub; +buildGoPackage rec { + rev = "8ca23475bcb43213a55dd8210b69363f6b0e09c1"; + name = "golint-${lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/golang/lint"; + + src = fetchFromGitHub { + inherit rev; + owner = "golang"; + repo = "lint"; + sha256 = "16wbykik6dw3x9s7iqi4ln8kvzsh3g621wb8mk4nfldw7lyqp3cs"; }; - buildInputs = [ go_1_3 ]; - - buildPhase = '' - export GOPATH=$src - go build -v -o lint github.com/golang/lint/golint - ''; - - installPhase = '' - mkdir -p $out/bin - mv lint $out/bin/golint - ''; + subPackages = [ "golint" ]; meta = with lib; { description = "Linter for Go source code"; diff --git a/pkgs/development/tools/golint/deps.nix b/pkgs/development/tools/golint/deps.nix deleted file mode 100644 index 47b8ade2298..00000000000 --- a/pkgs/development/tools/golint/deps.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: - -let - goDeps = [ - { - root = "github.com/golang/lint"; - src = fetchFromGitHub { - owner = "golang"; - repo = "lint"; - rev = "8ca23475bcb43213a55dd8210b69363f6b0e09c1"; - sha256 = "16wbykik6dw3x9s7iqi4ln8kvzsh3g621wb8mk4nfldw7lyqp3cs"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4aa544f2f38..2101fcea4c6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8882,7 +8882,7 @@ let gotags = callPackage ../development/tools/gotags { }; - golint = callPackage ../development/tools/golint { }; + golint = callPackage ../development/tools/golint { goPackages = go13Packages; }; gogoclient = callPackage ../os-specific/linux/gogoclient { }; From 67f34cbd0d3c4141570eab655b845f86e2c4ec72 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 11:41:45 +0100 Subject: [PATCH 011/248] Port gotags to buildGoPackage --- pkgs/development/tools/gotags/default.nix | 30 ++++++++++------------- pkgs/development/tools/gotags/deps.nix | 27 -------------------- 2 files changed, 13 insertions(+), 44 deletions(-) delete mode 100644 pkgs/development/tools/gotags/deps.nix diff --git a/pkgs/development/tools/gotags/default.nix b/pkgs/development/tools/gotags/default.nix index 5fec8c181a8..c7d265a10dc 100644 --- a/pkgs/development/tools/gotags/default.nix +++ b/pkgs/development/tools/gotags/default.nix @@ -1,24 +1,20 @@ -{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: +{ lib, goPackages, fetchFromGitHub }: -stdenv.mkDerivation rec { - name = "gotags"; +with goPackages; - src = import ./deps.nix { - inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub; +buildGoPackage rec { + rev = "a60c6a1b171faedc44354bd437d965e5e3bdc220"; + name = "gotags-${lib.strings.substring 0 7 rev}"; + + goPackagePath = "github.com/jstemmer/gotags"; + + src = fetchFromGitHub { + inherit rev; + owner = "jstemmer"; + repo = "gotags"; + sha256 = "1drbypby0isdmkq44jmlv59k3jrwvq2jciaccxx2qc2nnx444fkq"; }; - buildInputs = [ go ]; - - buildPhase = '' - export GOPATH=$src - go build -v -o gotags github.com/jstemmer/gotags - ''; - - installPhase = '' - mkdir -p $out/bin - mv gotags $out/bin - ''; - meta = with lib; { description = "Ctags-compatible tag generator for Go"; homepage = https://github.com/nsf/gotags; diff --git a/pkgs/development/tools/gotags/deps.nix b/pkgs/development/tools/gotags/deps.nix deleted file mode 100644 index 97e77bdd977..00000000000 --- a/pkgs/development/tools/gotags/deps.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: - -let - goDeps = [ - { - root = "github.com/jstemmer/gotags"; - src = fetchFromGitHub { - owner = "jstemmer"; - repo = "gotags"; - rev = "a60c6a1b171faedc44354bd437d965e5e3bdc220"; - sha256 = "1drbypby0isdmkq44jmlv59k3jrwvq2jciaccxx2qc2nnx444fkq"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} From 9dfa4b487f0e47718bef729bed35b6aeda274b1c Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 13:14:15 +0100 Subject: [PATCH 012/248] Port pond to buildGoPackage --- pkgs/applications/networking/pond/default.nix | 34 +++++------ pkgs/applications/networking/pond/deps.nix | 60 ------------------- pkgs/top-level/all-packages.nix | 2 +- pkgs/top-level/go-packages.nix | 34 +++++++++++ 4 files changed, 50 insertions(+), 80 deletions(-) delete mode 100644 pkgs/applications/networking/pond/deps.nix diff --git a/pkgs/applications/networking/pond/default.nix b/pkgs/applications/networking/pond/default.nix index 31a7dcd1f56..cec1619f32e 100644 --- a/pkgs/applications/networking/pond/default.nix +++ b/pkgs/applications/networking/pond/default.nix @@ -1,26 +1,22 @@ -{ stdenv, lib, fetchgit, fetchhg, go_1_3, trousers }: +{ lib, goPackages, fetchgit, trousers }: -let deps = import ./deps.nix { - inherit stdenv lib fetchgit fetchhg; -}; +with goPackages; -in stdenv.mkDerivation rec { - name = "pond"; +buildGoPackage rec { + rev = "f4e441c77a2039814046ff8219629c547fe8b689"; + name = "pond-${lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/agl/pond"; + src = fetchgit { + inherit rev; + url = "git://github.com/agl/pond.git"; + sha256 = "f2dfc6cb96cc4b8ae732e41d1958b62036f40cb346df2e14f27b5964a1416026"; + }; - buildInputs = [ go_1_3 trousers ]; + subPackages = [ "client" ]; - unpackPhase = '' - export GOPATH=$PWD - echo $PWD - cp -LR ${deps}/src src - chmod u+w -R src - ''; - - installPhase = '' - export GOPATH="$PWD" - mkdir -p $out/bin - go build --tags nogui -v -o $out/bin/pond-cli github.com/agl/pond/client - ''; + buildInputs = [ trousers net crypto protobuf ed25519 ]; + + makeFlags = "--tags nogui"; meta = with lib; { description = "Forward secure, asynchronous messaging for the discerning"; diff --git a/pkgs/applications/networking/pond/deps.nix b/pkgs/applications/networking/pond/deps.nix deleted file mode 100644 index 0983ad275e2..00000000000 --- a/pkgs/applications/networking/pond/deps.nix +++ /dev/null @@ -1,60 +0,0 @@ -# This file was generated by go2nix. -{ stdenv, lib, fetchgit, fetchhg}: - -let - goDeps = [ - { - root = "github.com/agl/pond"; - src = fetchgit { - url = "git://github.com/agl/pond.git"; - rev = "f4e441c77a2039814046ff8219629c547fe8b689"; - sha256 = "f2dfc6cb96cc4b8ae732e41d1958b62036f40cb346df2e14f27b5964a1416026"; - }; - } - { - root = "github.com/agl/ed25519"; - src = fetchgit { - url = "git://github.com/agl/ed25519.git"; - rev = "d2b94fd789ea21d12fac1a4443dd3a3f79cda72c"; - sha256 = "83e3010509805d1d315c7aa85a356fda69d91b51ff99ed98a503d63adb3613e9"; - }; - } - { - root = "code.google.com/p/go.crypto"; - src = fetchhg { - url = "https://code.google.com/p/go.crypto"; - rev = "31393df5baea"; - sha256 = "0b95dpsvxxapcjjvhj05fdmyn0mzffamc25hvxy7xgsl2l9yy3nw"; - }; - } - { - root = "code.google.com/p/go.net"; - src = fetchhg { - url = "https://code.google.com/p/go.net"; - rev = "90e232e2462d"; - sha256 = "0hqvkaa0rbxwbi74xa6aqbkf63zk662x5hp3bp8vbhzkc4yl1h59"; - }; - } - { - root = "code.google.com/p/goprotobuf"; - src = fetchhg { - url = "https://code.google.com/p/goprotobuf"; - rev = "36be16571e14"; - sha256 = "14yay2sgfbbs0bx3q03bdqn1kivyvxfdm34rmp2612gvinlll215"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} - diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2101fcea4c6..4c5e633db64 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10938,7 +10938,7 @@ let inherit (xorg) libXpm; }; - pond = callPackage ../applications/networking/pond { }; + pond = callPackage ../applications/networking/pond { goPackages = go13Packages; }; potrace = callPackage ../applications/graphics/potrace {}; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index b00d1427052..d08ebb452ed 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -9,6 +9,17 @@ let self = _self // overrides; _self = with self; { ## OFFICIAL GO PACKAGES + crypto = buildGoPackage rec { + rev = "31393df5baea"; + name = "go-crypto-${rev}"; + goPackagePath = "code.google.com/p/go.crypto"; + src = fetchhg { + inherit rev; + url = "https://${goPackagePath}"; + sha256 = "0b95dpsvxxapcjjvhj05fdmyn0mzffamc25hvxy7xgsl2l9yy3nw"; + }; + }; + image = buildGoPackage rec { rev = "490b1ad139b3"; name = "go.image-${rev}"; @@ -32,6 +43,18 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ text ]; }; + protobuf = buildGoPackage rec { + rev = "36be16571e14"; + name = "goprotobuf-${rev}"; + goPackagePath = "code.google.com/p/goprotobuf"; + src = fetchhg { + inherit rev; + url = "https://code.google.com/p/goprotobuf"; + sha256 = "14yay2sgfbbs0bx3q03bdqn1kivyvxfdm34rmp2612gvinlll215"; + }; + subPackages = [ "proto" "protoc-gen-go" ]; + }; + text = buildGoPackage rec { rev = "024681b033be"; name = "go.text-${rev}"; @@ -83,6 +106,17 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ pflag ]; }; + ed25519 = buildGoPackage rec { + rev = "d2b94fd789ea21d12fac1a4443dd3a3f79cda72c"; + name = "ed25519-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/agl/ed25519"; + src = fetchgit { + inherit rev; + url = "git://${goPackagePath}.git"; + sha256 = "83e3010509805d1d315c7aa85a356fda69d91b51ff99ed98a503d63adb3613e9"; + }; + }; + goconvey = buildGoPackage rec { version = "1.5.0"; name = "goconvey-${version}"; From 9896829c49546dd04c418a201c933501237f0f0d Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 13:30:08 +0100 Subject: [PATCH 013/248] Port gocode to buildGoPackage --- pkgs/development/tools/gocode/default.nix | 28 ++++++++++------------- pkgs/development/tools/gocode/deps.nix | 27 ---------------------- 2 files changed, 12 insertions(+), 43 deletions(-) delete mode 100644 pkgs/development/tools/gocode/deps.nix diff --git a/pkgs/development/tools/gocode/default.nix b/pkgs/development/tools/gocode/default.nix index 30e4b79ee38..0472f5aaaa3 100644 --- a/pkgs/development/tools/gocode/default.nix +++ b/pkgs/development/tools/gocode/default.nix @@ -1,23 +1,19 @@ -{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: +{ lib, goPackages, fetchFromGitHub }: -stdenv.mkDerivation rec { - name = "gocode"; +with goPackages; - src = import ./deps.nix { - inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub; +buildGoPackage rec { + rev = "9b760fdb16f18eafbe0cd274527efd2bd89dfa78"; + name = "gocode-${lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/nsf/gocode"; + src = fetchFromGitHub { + inherit rev; + owner = "nsf"; + repo = "gocode"; + sha256 = "0d1wl0x8jkaav6lcfzs70cr6gy0p88cbk5n3p19l6d0h9xz464ax"; }; - buildInputs = [ go ]; - - buildPhase = '' - export GOPATH=$src - go build -v -o gocode github.com/nsf/gocode - ''; - - installPhase = '' - mkdir -p $out/bin - mv gocode $out/bin - ''; + subPackages = [ "./" ]; meta = with lib; { description = "An autocompletion daemon for the Go programming language"; diff --git a/pkgs/development/tools/gocode/deps.nix b/pkgs/development/tools/gocode/deps.nix deleted file mode 100644 index 4fd0578496d..00000000000 --- a/pkgs/development/tools/gocode/deps.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: - -let - goDeps = [ - { - root = "github.com/nsf/gocode"; - src = fetchFromGitHub { - owner = "nsf"; - repo = "gocode"; - rev = "9b760fdb16f18eafbe0cd274527efd2bd89dfa78"; - sha256 = "0d1wl0x8jkaav6lcfzs70cr6gy0p88cbk5n3p19l6d0h9xz464ax"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} From df097fe2c3e034956b4beb2fc0620823793704b2 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 13:41:31 +0100 Subject: [PATCH 014/248] Fix and port bosun and scollector to buildGoPackage --- pkgs/servers/monitoring/bosun/default.nix | 39 +++++++------------ pkgs/servers/monitoring/bosun/scollector.nix | 41 ++++++++------------ 2 files changed, 31 insertions(+), 49 deletions(-) diff --git a/pkgs/servers/monitoring/bosun/default.nix b/pkgs/servers/monitoring/bosun/default.nix index b6a6ef8f3bb..bbe92bd1329 100644 --- a/pkgs/servers/monitoring/bosun/default.nix +++ b/pkgs/servers/monitoring/bosun/default.nix @@ -1,29 +1,20 @@ -{ stdenv, fetchurl, go }: -stdenv.mkDerivation rec { - name = "bosun-${version}"; - version = "20141215200935"; - src = fetchurl { - url = "https://github.com/bosun-monitor/bosun/archive/${version}.tar.gz"; - sha256 = "1py4plx5wi4mp05g4c1aa1wa8ny538kp2p4fzhalz33zm2qxbbx9"; +{ lib, fetchFromGitHub, goPackages }: + +with goPackages; + +buildGoPackage rec { + rev = "20150202222550"; + name = "bosun-${rev}"; + goPackagePath = "bosun.org"; + src = fetchFromGitHub { + inherit rev; + owner = "bosun-monitor"; + repo = "bosun"; + sha256 = "0xrnyq85nxj6rddrhd19r2bz59pzxci6bnjh61j4z8hd6ryp8j2c"; }; - buildInputs = [ go ]; + subPackages = [ "cmd/bosun" ]; - sourceRoot = "."; - - buildPhase = '' - mkdir -p src - mv bosun-${version} src/bosun.org - - export GOPATH=$PWD - go build -v -o bosun src/bosun.org/cmd/bosun/main.go - ''; - - installPhase = '' - mkdir -p $out/bin - cp bosun $out/bin - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "Time series alerting framework"; longDescription = '' An advanced, open-source monitoring and alerting system by Stack Exchange. diff --git a/pkgs/servers/monitoring/bosun/scollector.nix b/pkgs/servers/monitoring/bosun/scollector.nix index 176d42d382a..f7e5c99c91d 100644 --- a/pkgs/servers/monitoring/bosun/scollector.nix +++ b/pkgs/servers/monitoring/bosun/scollector.nix @@ -1,32 +1,23 @@ -{ stdenv, fetchurl, go }: -stdenv.mkDerivation rec { - name = "scollector-${version}"; - version = "20141204222654"; - src = fetchurl { - url = "https://github.com/bosun-monitor/bosun/archive/${version}.tar.gz"; - sha256 = "1jwhfwf24zhncrirna3q1vhap4f955bqx3sws3ryk5gp1w99l36n"; +{ lib, fetchFromGitHub, goPackages }: + +with goPackages; + +buildGoPackage rec { + rev = "20150202222550"; + name = "bosun-${rev}"; + goPackagePath = "bosun.org"; + src = fetchFromGitHub { + inherit rev; + owner = "bosun-monitor"; + repo = "bosun"; + sha256 = "0xrnyq85nxj6rddrhd19r2bz59pzxci6bnjh61j4z8hd6ryp8j2c"; }; - buildInputs = [ go ]; + subPackages = [ "cmd/scollector" ]; - sourceRoot = "."; - - buildPhase = '' - mkdir -p src - mv bosun-${version} src/bosun.org - - export GOPATH=$PWD - go build -v -o scollector src/bosun.org/cmd/scollector/main.go - ''; - - installPhase = '' - mkdir -p $out/bin - cp scollector $out/bin - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "Collect system information and store it in OpenTSDB or Bosun"; homepage = http://bosun.org/scollector; license = licenses.mit; - platforms = stdenv.lib.platforms.linux; + platforms = platforms.linux; }; } From a594f0bcd5a1e4a9bc36375caa5619130fa06ceb Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 13:46:32 +0100 Subject: [PATCH 015/248] Port gox to buildGoPackage --- pkgs/development/compilers/go/gox.nix | 56 +++++++-------------------- pkgs/top-level/go-packages.nix | 12 ++++++ 2 files changed, 25 insertions(+), 43 deletions(-) diff --git a/pkgs/development/compilers/go/gox.nix b/pkgs/development/compilers/go/gox.nix index 932c3967726..5e0ff97eada 100644 --- a/pkgs/development/compilers/go/gox.nix +++ b/pkgs/development/compilers/go/gox.nix @@ -1,49 +1,19 @@ -{ stdenv, lib, go_1_3, fetchFromGitHub }: +{ lib, goPackages, fetchFromGitHub }: -let - goDeps = [ - { - root = "github.com/mitchellh/gox"; - src = fetchFromGitHub { - owner = "mitchellh"; - repo = "gox"; - rev = "c7329055e2aeb253a947e5cc876586ff4ca19199"; - sha256 = "0zhb88jjxqn3sdc4bpzvajqvgi9igp5gk03q12gaksaxhy2wl4jy"; - }; - } - { - root = "github.com/mitchellh/iochan"; - src = fetchFromGitHub { - owner = "mitchellh"; - repo = "iochan"; - rev = "b584a329b193e206025682ae6c10cdbe03b0cd77"; - sha256 = "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b"; - }; - } - ]; - sources = stdenv.mkDerivation rec { - name = "go-deps"; - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); +with goPackages; + +buildGoPackage rec { + rev = "c7329055e2aeb253a947e5cc876586ff4ca19199"; + name = "gox-${lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/mitchellh/gox"; + src = fetchFromGitHub { + inherit rev; + owner = "mitchellh"; + repo = "gox"; + sha256 = "0zhb88jjxqn3sdc4bpzvajqvgi9igp5gk03q12gaksaxhy2wl4jy"; }; -in -stdenv.mkDerivation rec { - name = "gox"; - - src = sources; - - propagatedBuildInputs = [ go_1_3 ]; - - installPhase = '' - mkdir -p $out/bin - export GOPATH=$src - go build -v -o $out/bin/gox github.com/mitchellh/gox - ''; + buildInputs = [ iochan ]; meta = with lib; { description = "A simple, no-frills tool for Go cross compilation that behaves a lot like standard go build"; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index d08ebb452ed..b347252611d 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -216,6 +216,18 @@ let self = _self // overrides; _self = with self; { }; }; + iochan = buildGoPackage rec { + rev = "b584a329b193e206025682ae6c10cdbe03b0cd77"; + name = "iochan-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/mitchellh/iochan"; + src = fetchFromGitHub { + inherit rev; + owner = "mitchellh"; + repo = "iochan"; + sha256 = "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b"; + }; + }; + log4go = buildGoPackage rec { rev = "48"; name = "log4go-${rev}"; From 0e94ed144d3bba2bfe45dc961897154a38354ac4 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 13:49:49 +0100 Subject: [PATCH 016/248] Port etcdctl to buildGoPackage --- pkgs/development/tools/etcdctl/default.nix | 29 ++++++++-------------- pkgs/development/tools/etcdctl/deps.nix | 27 -------------------- 2 files changed, 11 insertions(+), 45 deletions(-) delete mode 100644 pkgs/development/tools/etcdctl/deps.nix diff --git a/pkgs/development/tools/etcdctl/default.nix b/pkgs/development/tools/etcdctl/default.nix index a2236f6c843..5fea6012ccf 100644 --- a/pkgs/development/tools/etcdctl/default.nix +++ b/pkgs/development/tools/etcdctl/default.nix @@ -1,26 +1,19 @@ -{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: +{ lib, goPackages, fetchFromGitHub }: -stdenv.mkDerivation rec { +with goPackages; + +buildGoPackage rec { version = "0.4.5"; name = "etcdctl-${version}"; - - src = import ./deps.nix { - inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub; + goPackagePath = "github.com/coreos/etcdctl"; + src = fetchFromGitHub { + owner = "coreos"; + repo = "etcdctl"; + rev = "v${version}"; + sha256 = "1kbri59ppil52v7s992q8r6i1zk9lac0s2w00z2lsgc9w1z59qs0"; }; - buildInputs = [ go ]; - - buildPhase = '' - export GOPATH=$src - go build -v -o etcdctl github.com/coreos/etcdctl - ''; - - installPhase = '' - mkdir -p $out/bin - mv etcdctl $out/bin - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "A simple command line client for etcd"; homepage = http://coreos.com/using-coreos/etcd/; license = licenses.asl20; diff --git a/pkgs/development/tools/etcdctl/deps.nix b/pkgs/development/tools/etcdctl/deps.nix deleted file mode 100644 index c76a162f193..00000000000 --- a/pkgs/development/tools/etcdctl/deps.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: - -let - goDeps = [ - { - root = "github.com/coreos/etcdctl"; - src = fetchFromGitHub { - owner = "coreos"; - repo = "etcdctl"; - rev = "a1b38c93245542e340971189750baef7a55d306e"; - sha256 = "1kbri59ppil52v7s992q8r6i1zk9lac0s2w00z2lsgc9w1z59qs0"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} From 1c98fc7a9af604764e87d7a613e50a2a2f5f4722 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 14:00:26 +0100 Subject: [PATCH 017/248] Port go-repo-root to buildGoPackage --- .../tools/misc/go-repo-root/default.nix | 27 +++----- .../tools/misc/go-repo-root/deps.nix | 67 ------------------- pkgs/top-level/go-packages.nix | 12 ++++ 3 files changed, 22 insertions(+), 84 deletions(-) delete mode 100644 pkgs/development/tools/misc/go-repo-root/deps.nix diff --git a/pkgs/development/tools/misc/go-repo-root/default.nix b/pkgs/development/tools/misc/go-repo-root/default.nix index c4eaf03a358..16520ee0457 100644 --- a/pkgs/development/tools/misc/go-repo-root/default.nix +++ b/pkgs/development/tools/misc/go-repo-root/default.nix @@ -1,28 +1,21 @@ -{ stdenv, lib, go, fetchgit, fetchhg, fetchFromGitHub }: +{ lib, goPackages, fetchFromGitHub }: let version = "0.0.1"; in -with lib; -stdenv.mkDerivation { +with lib; with goPackages; +buildGoPackage rec { name = "go-repo-root-${version}"; - - src = import ./deps.nix { - inherit stdenv lib fetchhg fetchFromGitHub; + goPackagePath = "github.com/cstrahan/go-repo-root"; + src = fetchFromGitHub { + owner = "cstrahan"; + repo = "go-repo-root"; + rev = "90041e5c7dc634651549f96814a452f4e0e680f9"; + sha256 = "1rlzp8kjv0a3dnfhyqcggny0ad648j5csr2x0siq5prahlp48mg4"; }; - buildInputs = [ go ]; - - buildPhase = '' - export GOPATH=$src - go build -v -o go-repo-root github.com/cstrahan/go-repo-root - ''; - - installPhase = '' - mkdir -p $out/bin - cp go-repo-root $out/bin - ''; + buildInputs = [ tools ]; meta = with lib; { homepage = "https://github.com/cstrahan/go-repo-root"; diff --git a/pkgs/development/tools/misc/go-repo-root/deps.nix b/pkgs/development/tools/misc/go-repo-root/deps.nix deleted file mode 100644 index 585e9955ab2..00000000000 --- a/pkgs/development/tools/misc/go-repo-root/deps.nix +++ /dev/null @@ -1,67 +0,0 @@ -{ stdenv, lib, fetchFromGitHub, fetchhg }: - -let - goDeps = [ - { - root = "code.google.com/p/go.net"; - src = fetchhg { - url = "http://code.google.com/p/go.net"; - rev = "ad01a6fcc8a19d3a4478c836895ffe883bd2ceab"; - sha256 = "0s0aa8hxrpggn6wwx4x591k6abvawrmhsk8ji327pgj08fdy3ahq"; - }; - } - { - root = "code.google.com/p/go.text"; - src = fetchhg { - url = "http://code.google.com/p/go.text"; - rev = "12288f41f508af9490f03a9780afa295c9b0a063"; - sha256 = "17kr0h79pznb3nn5znbh1d7dinmqjwvg5iqqk4l05569q50gqwww"; - }; - } - { - root = "code.google.com/p/go.tools"; - src = fetchhg { - url = "http://code.google.com/p/go.tools"; - rev = "140fcaadc5860b1a014ec69fdeec807fe3b787e8"; - sha256 = "1vgz4kxy0p56qh6pfbs2c68156hakgx4cmrci9jbg7lnrdaz4y56"; - }; - } - { - root = "code.google.com/p/goauth2"; - src = fetchhg { - url = "http://code.google.com/p/goauth2"; - rev = "afe77d958c701557ec5dc56f6936fcc194d15520"; - sha256 = "0xgkgcb97hv2rvzvh21rvydq5cc83j7sdsdb1chrymq8k7l4dzc1"; - }; - } - { - root = "code.google.com/p/google-api-go-client"; - src = fetchhg { - url = "http://code.google.com/p/google-api-go-client"; - rev = "e1c259484b495133836706f46319f5897f1e9bf6"; - sha256 = "051dqhjhp3bz2xp7lv9v60xlmphbxj1vyc46wg8v74yjvqvsiwzd"; - }; - } - { - root = "github.com/cstrahan/go-repo-root"; - src = fetchFromGitHub { - owner = "cstrahan"; - repo = "go-repo-root"; - rev = "90041e5c7dc634651549f96814a452f4e0e680f9"; - sha256 = "1rlzp8kjv0a3dnfhyqcggny0ad648j5csr2x0siq5prahlp48mg4"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index b347252611d..61e113ebefb 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -67,6 +67,18 @@ let self = _self // overrides; _self = with self; { doCheck = false; }; + tools = buildGoPackage rec { + rev = "140fcaadc5860b1a014ec69fdeec807fe3b787e8"; + name = "go.tools-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "code.google.com/p/go.tools"; + src = fetchhg { + inherit rev; + url = "http://code.google.com/p/go.tools"; + sha256 = "1vgz4kxy0p56qh6pfbs2c68156hakgx4cmrci9jbg7lnrdaz4y56"; + }; + subPackages = [ "go/vcs" ]; + }; + ## THIRD PARTY binarydist = buildGoPackage rec { From a20460462d11a75f855879bd8984e173178fca62 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 14:55:40 +0100 Subject: [PATCH 018/248] Port etcd to buildGoPackage --- pkgs/servers/etcd/default.nix | 31 +++++++++++++------------------ pkgs/servers/etcd/deps.nix | 28 ---------------------------- 2 files changed, 13 insertions(+), 46 deletions(-) delete mode 100644 pkgs/servers/etcd/deps.nix diff --git a/pkgs/servers/etcd/default.nix b/pkgs/servers/etcd/default.nix index 5d5939f83be..89ea70d46c5 100644 --- a/pkgs/servers/etcd/default.nix +++ b/pkgs/servers/etcd/default.nix @@ -1,26 +1,21 @@ -{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: +{ lib, goPackages, fetchFromGitHub }: -stdenv.mkDerivation rec { - version = "2.0.0-rc.1"; +with goPackages; + +buildGoPackage rec { + version = "2.0.0"; name = "etcd-${version}"; - - src = import ./deps.nix { - inherit stdenv lib fetchFromGitHub; + goPackagePath = "github.com/coreos/etcd"; + src = fetchFromGitHub { + owner = "coreos"; + repo = "etcd"; + rev = "v${version}"; + sha256 = "1s3jilzlqyh2i81pv79cgap6dfj7qrfrwcv4w9lic5ivznz413vc"; }; - buildInputs = [ go ]; + subPackages = [ "./" ]; - buildPhase = '' - export GOPATH=$src - go build -v -o etcd github.com/coreos/etcd - ''; - - installPhase = '' - mkdir -p $out/bin - mv etcd $out/bin/etcd - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "A highly-available key value store for shared configuration and service discovery"; homepage = http://coreos.com/using-coreos/etcd/; license = licenses.asl20; diff --git a/pkgs/servers/etcd/deps.nix b/pkgs/servers/etcd/deps.nix deleted file mode 100644 index b07ee1d7489..00000000000 --- a/pkgs/servers/etcd/deps.nix +++ /dev/null @@ -1,28 +0,0 @@ -# This file was generated by go2nix. -{ stdenv, lib, fetchFromGitHub }: - -let - goDeps = [ - { - root = "github.com/coreos/etcd"; - src = fetchFromGitHub { - owner = "coreos"; - repo = "etcd"; - rev = "221abdcb3b755b36d1e7d70149f6de3450351619"; - sha256 = "1wkd238ap9gp5irrb3f6nnh83rzizwfrfac76j0dvqdka35l247k"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} From ee905777049bf546c42be3af3f7c232ef25678ad Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 15:23:52 +0100 Subject: [PATCH 019/248] Port serfdom to buildGoPackage --- pkgs/servers/serfdom/default.nix | 28 ++--- pkgs/servers/serfdom/deps.nix | 185 --------------------------- pkgs/tools/misc/ngrok/default.nix | 2 +- pkgs/top-level/go-packages.nix | 200 +++++++++++++++++++++++++++++- 4 files changed, 210 insertions(+), 205 deletions(-) delete mode 100644 pkgs/servers/serfdom/deps.nix diff --git a/pkgs/servers/serfdom/default.nix b/pkgs/servers/serfdom/default.nix index 48e5f2cea22..c0293caa3a2 100644 --- a/pkgs/servers/serfdom/default.nix +++ b/pkgs/servers/serfdom/default.nix @@ -1,26 +1,22 @@ -{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: +{ lib, goPackages, fetchFromGitHub }: -stdenv.mkDerivation rec { +with goPackages; + +buildGoPackage rec { version = "0.6.3"; name = "serfdom-${version}"; + goPackagePath = "github.com/hashicorp/serf"; - src = import ./deps.nix { - inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub; + src = fetchFromGitHub { + owner = "hashicorp"; + repo = "serf"; + rev = "v${version}"; + sha256 = "0ck77ji28bvm4ahzxyyi4sm17c3fxc16k0k5mihl1nlkgdd73m8y"; }; - buildInputs = [ go ]; + buildInputs = [ cli mapstructure memberlist logutils go-syslog mdns columnize circbuf ]; - buildPhase = '' - export GOPATH=$src - go build -v -o serf github.com/hashicorp/serf - ''; - - installPhase = '' - mkdir -p $out/bin - mv serf $out/bin/serf - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "A service discovery and orchestration tool that is decentralized, highly available, and fault tolerant"; homepage = http://www.serfdom.io/; license = licenses.mpl20; diff --git a/pkgs/servers/serfdom/deps.nix b/pkgs/servers/serfdom/deps.nix deleted file mode 100644 index a4b4058a711..00000000000 --- a/pkgs/servers/serfdom/deps.nix +++ /dev/null @@ -1,185 +0,0 @@ -{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: - -let - goDeps = [ - { - root = "code.google.com/p/go.net"; - src = fetchhg { - url = "http://code.google.com/p/go.net"; - rev = "134"; - sha256 = "1jycpgrfwgkfac60zjbx6babcz7sgyn9xgy6cr3l811j6k8r2pbv"; - }; - } - { - root = "code.google.com/p/go.text"; - src = fetchhg { - url = "http://code.google.com/p/go.text"; - rev = "85"; - sha256 = "1x8h6vq9g5gbi7iiwla6dkaaqqf7wmkdm4szj7wvzlsijf2x8dwr"; - }; - } - { - root = "github.com/armon/circbuf"; - src = fetchFromGitHub { - owner = "armon"; - repo = "circbuf"; - rev = "f092b4f207b6e5cce0569056fba9e1a2735cb6cf"; - sha256 = "06kwwdwa3hskdh6ws7clj1vim80dyc3ldim8k9y5qpd30x0avn5s"; - }; - } - { - root = "github.com/armon/go-metrics"; - src = fetchFromGitHub { - owner = "armon"; - repo = "go-metrics"; - rev = "02567bbc4f518a43853d262b651a3c8257c3f141"; - sha256 = "08fk3zmw0ywmdfp2qhrpv0vrk1y97hzqczrgr3y2yip3x8sr37ar"; - }; - } - { - root = "github.com/armon/mdns"; - src = fetchFromGitHub { - owner = "armon"; - repo = "mdns"; - rev = "70462deb060d44247356ee238ebafd7699ddcffe"; - sha256 = "0xkm3d0hsixdm1yrkx9c39723kfjkb3wvrzrmx3np9ylcwn6h5p5"; - }; - } - { - root = "github.com/hashicorp/go-syslog"; - src = fetchFromGitHub { - owner = "hashicorp"; - repo = "go-syslog"; - rev = "ac3963b72ac367e48b1e68a831e62b93fb69091c"; - sha256 = "1r9s1gsa4azcs05gx1179ixk7qvrkrik3v92wr4s8gwm00m0gf81"; - }; - } - { - root = "github.com/hashicorp/logutils"; - src = fetchFromGitHub { - owner = "hashicorp"; - repo = "logutils"; - rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8"; - sha256 = "033rbkc066g657r0dnzysigjz2bs4biiz0kmiypd139d34jvslwz"; - }; - } - { - root = "github.com/hashicorp/memberlist"; - src = fetchFromGitHub { - owner = "hashicorp"; - repo = "memberlist"; - rev = "17d39b695094be943bfb98442a80b082e6b9ac47"; - sha256 = "0nvgjnwmfqhv2wvr77d2q5mq1bfw4xbpil6wgyj4fyrmhsfzrv3g"; - }; - } - { - root = "github.com/hashicorp/serf"; - src = fetchFromGitHub { - owner = "hashicorp"; - repo = "serf"; - rev = "5e0771b8d61bee28986087a246f7611d6bd4a87a"; - sha256 = "0ck77ji28bvm4ahzxyyi4sm17c3fxc16k0k5mihl1nlkgdd73m8y"; - }; - } - { - root = "github.com/miekg/dns"; - src = fetchFromGitHub { - owner = "miekg"; - repo = "dns"; - rev = "fc67c4b981930a377f8a26a5a1f2c0ccd5dd1514"; - sha256 = "1csjmkx0gl34r4hmkhdbdxb0693f1p10yrjaj8f2jwli9p9sl4mg"; - }; - } - { - root = "github.com/mitchellh/cli"; - src = fetchFromGitHub { - owner = "mitchellh"; - repo = "cli"; - rev = "8262fe3f76f0da53b5674eb35c8c6436430794c3"; - sha256 = "0pqkxh1q49kkxihggrfjs8174d927g4c5qqx00ggw8sqqsgrw6vn"; - }; - } - { - root = "github.com/mitchellh/mapstructure"; - src = fetchFromGitHub { - owner = "mitchellh"; - repo = "mapstructure"; - rev = "6fb2c832bcac61d01212ab1d172f7a14a8585b07"; - sha256 = "0mx855lwhv0rk461wmbnbzbpkhmq5p2ipmrm5bhzimagrr1w17hw"; - }; - } - { - root = "github.com/ryanuber/columnize"; - src = fetchFromGitHub { - owner = "ryanuber"; - repo = "columnize"; - rev = "785d943a7b6886e0bb2f139a60487b823dd8d9de"; - sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f"; - }; - } - { - root = "github.com/ugorji/go"; - src = fetchFromGitHub { - owner = "ugorji"; - repo = "go"; - rev = "71c2886f5a673a35f909803f38ece5810165097b"; - sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j"; - }; - } - { - root = "github.com/ugorji/go-msgpack"; - src = fetchFromGitHub { - owner = "ugorji"; - repo = "go-msgpack"; - rev = "75092644046c5e38257395b86ed26c702dc95b92"; - sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98"; - }; - } - { - root = "github.com/vmihailenco/bufio"; - src = fetchFromGitHub { - owner = "vmihailenco"; - repo = "bufio"; - rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66"; - sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983"; - }; - } - { - root = "github.com/vmihailenco/msgpack"; - src = fetchFromGitHub { - owner = "vmihailenco"; - repo = "msgpack"; - rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205"; - sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0"; - }; - } - { - root = "launchpad.net/gocheck"; - src = fetchbzr { - url = "https://launchpad.net/gocheck"; - rev = "87"; - sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0"; - }; - } - { - root = "launchpad.net/mgo"; - src = fetchbzr { - url = "https://launchpad.net/mgo"; - rev = "2"; - sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} diff --git a/pkgs/tools/misc/ngrok/default.nix b/pkgs/tools/misc/ngrok/default.nix index 2d66ba27ca6..e91278c5037 100644 --- a/pkgs/tools/misc/ngrok/default.nix +++ b/pkgs/tools/misc/ngrok/default.nix @@ -24,7 +24,7 @@ buildGoPackage rec { export sourceRoot=$sourceRoot/src/ngrok ''; - buildInputs = [ git log4go websocket go-vhost mousetrap termbox-go go-metrics + buildInputs = [ git log4go websocket go-vhost mousetrap termbox-go rcrowley.go-metrics yaml-v1 go-bindata go-update binarydist osext ]; makeFlags = "-tags release"; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 61e113ebefb..ae71cd5382c 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -94,6 +94,18 @@ let self = _self // overrides; _self = with self; { }; }; + bufio = buildGoPackage rec { + rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66"; + name = "bufio-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/vmihailenco/bufio"; + src = fetchFromGitHub { + inherit rev; + owner = "vmihailenco"; + repo = "bufio"; + sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983"; + }; + }; + check-v1 = buildGoPackage rec { rev = "871360013c92e1c715c2de6d06b54899468a8a2d"; name = "check-v1-${stdenv.lib.strings.substring 0 7 rev}"; @@ -104,7 +116,31 @@ let self = _self // overrides; _self = with self; { sha256 = "0i83qjmd4ri9mrfddhsbpj9nb43rf2j9803k030fj155j31klwcx"; }; }; - + + circbuf = buildGoPackage rec { + rev = "f092b4f207b6e5cce0569056fba9e1a2735cb6cf"; + name = "circbuf-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/armon/circbuf"; + src = fetchFromGitHub { + inherit rev; + owner = "armon"; + repo = "circbuf"; + sha256 = "06kwwdwa3hskdh6ws7clj1vim80dyc3ldim8k9y5qpd30x0avn5s"; + }; + }; + + cli = buildGoPackage rec { + rev = "8262fe3f76f0da53b5674eb35c8c6436430794c3"; + name = "cli-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/mitchellh/cli"; + src = fetchFromGitHub { + inherit rev; + owner = "mitchellh"; + repo = "cli"; + sha256 = "0pqkxh1q49kkxihggrfjs8174d927g4c5qqx00ggw8sqqsgrw6vn"; + }; + }; + cobra = buildGoPackage rec { date = "20140617"; rev = "10a8494a87448bf5003222d9974f166437e7f042"; @@ -118,6 +154,30 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ pflag ]; }; + columnize = buildGoPackage rec { + rev = "785d943a7b6886e0bb2f139a60487b823dd8d9de"; + name = "columnize-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/ryanuber/columnize"; + src = fetchFromGitHub { + inherit rev; + owner = "ryanuber"; + repo = "columnize"; + sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f"; + }; + }; + + dns = buildGoPackage rec { + rev = "fc67c4b981930a377f8a26a5a1f2c0ccd5dd1514"; + name = "dns-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/miekg/dns"; + src = fetchFromGitHub { + inherit rev; + owner = "miekg"; + repo = "dns"; + sha256 = "1csjmkx0gl34r4hmkhdbdxb0693f1p10yrjaj8f2jwli9p9sl4mg"; + }; + }; + ed25519 = buildGoPackage rec { rev = "d2b94fd789ea21d12fac1a4443dd3a3f79cda72c"; name = "ed25519-${stdenv.lib.strings.substring 0 7 rev}"; @@ -129,6 +189,17 @@ let self = _self // overrides; _self = with self; { }; }; + gocheck = buildGoPackage rec { + rev = "87"; + name = "gocheck-${rev}"; + goPackagePath = "launchpad.net/gocheck"; + src = fetchbzr { + inherit rev; + url = "https://${goPackagePath}"; + sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0"; + }; + }; + goconvey = buildGoPackage rec { version = "1.5.0"; name = "goconvey-${version}"; @@ -175,9 +246,21 @@ let self = _self // overrides; _self = with self; { }; }; - go-metrics = buildGoPackage rec { + go-codec = buildGoPackage rec { + rev = "71c2886f5a673a35f909803f38ece5810165097b"; + name = "go-codec-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/ugorji/go"; + src = fetchFromGitHub { + inherit rev; + owner = "ugorji"; + repo = "go"; + sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j"; + }; + }; + + rcrowley.go-metrics = buildGoPackage rec { rev = "f770e6f5e91a8770cecee02d5d3f7c00b023b4df"; - name = "go-metrics-${stdenv.lib.strings.substring 0 7 rev}"; + name = "rcrowley.go-metrics-${stdenv.lib.strings.substring 0 7 rev}"; goPackagePath = "github.com/rcrowley/go-metrics"; src = fetchFromGitHub { inherit rev; @@ -188,6 +271,42 @@ let self = _self // overrides; _self = with self; { buildInputs = [ influxdb-go stathat ]; }; + + armon.go-metrics = buildGoPackage rec { + rev = "02567bbc4f518a43853d262b651a3c8257c3f141"; + name = "armon.go-metrics-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/armon/go-metrics"; + src = fetchFromGitHub { + inherit rev; + owner = "armon"; + repo = "go-metrics"; + sha256 = "08fk3zmw0ywmdfp2qhrpv0vrk1y97hzqczrgr3y2yip3x8sr37ar"; + }; + }; + + go-msgpack = buildGoPackage rec { + rev = "75092644046c5e38257395b86ed26c702dc95b92"; + name = "go-msgpack-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/ugorji/go-msgpack"; + src = fetchFromGitHub { + inherit rev; + owner = "ugorji"; + repo = "go-msgpack"; + sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98"; + }; + }; + + go-syslog = buildGoPackage rec { + rev = "ac3963b72ac367e48b1e68a831e62b93fb69091c"; + name = "go-syslog-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/hashicorp/go-syslog"; + src = fetchFromGitHub { + inherit rev; + owner = "hashicorp"; + repo = "go-syslog"; + sha256 = "1r9s1gsa4azcs05gx1179ixk7qvrkrik3v92wr4s8gwm00m0gf81"; + }; + }; go-update = buildGoPackage rec { rev = "c1385108bc3a016f1c88b75ea7d2e2a356a1571d"; @@ -254,6 +373,69 @@ let self = _self // overrides; _self = with self; { subPackages = [ "./" ]; # don't build examples }; + logutils = buildGoPackage rec { + rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8"; + name = "logutils-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/hashicorp/logutils"; + src = fetchFromGitHub { + inherit rev; + owner = "hashicorp"; + repo = "logutils"; + sha256 = "033rbkc066g657r0dnzysigjz2bs4biiz0kmiypd139d34jvslwz"; + }; + }; + + mapstructure = buildGoPackage rec { + rev = "6fb2c832bcac61d01212ab1d172f7a14a8585b07"; + name = "mapstructure-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/mitchellh/mapstructure"; + src = fetchFromGitHub { + inherit rev; + owner = "mitchellh"; + repo = "mapstructure"; + sha256 = "0mx855lwhv0rk461wmbnbzbpkhmq5p2ipmrm5bhzimagrr1w17hw"; + }; + }; + + mdns = buildGoPackage rec { + rev = "70462deb060d44247356ee238ebafd7699ddcffe"; + name = "mdns-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/armon/mdns"; + src = fetchFromGitHub { + inherit rev; + owner = "armon"; + repo = "mdns"; + sha256 = "0xkm3d0hsixdm1yrkx9c39723kfjkb3wvrzrmx3np9ylcwn6h5p5"; + }; + + propagatedBuildInputs = [ dns net ]; + }; + + memberlist = buildGoPackage rec { + rev = "17d39b695094be943bfb98442a80b082e6b9ac47"; + name = "memberlist-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/hashicorp/memberlist"; + src = fetchFromGitHub { + inherit rev; + owner = "hashicorp"; + repo = "memberlist"; + sha256 = "0nvgjnwmfqhv2wvr77d2q5mq1bfw4xbpil6wgyj4fyrmhsfzrv3g"; + }; + + propagatedBuildInputs = [ go-codec armon.go-metrics ]; + }; + + mgo = buildGoPackage rec { + rev = "2"; + name = "mgo-${rev}"; + goPackagePath = "launchpad.net/mgo"; + src = fetchbzr { + inherit rev; + url = "https://${goPackagePath}"; + sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x"; + }; + }; + mousetrap = buildGoPackage rec { rev = "9dbb96d2c3a964935b0870b5abaea13c98b483aa"; name = "mousetrap-${stdenv.lib.strings.substring 0 7 rev}"; @@ -266,6 +448,18 @@ let self = _self // overrides; _self = with self; { }; }; + msgpack = buildGoPackage rec { + rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205"; + name = "msgpack-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/vmihailenco/msgpack"; + src = fetchFromGitHub { + inherit rev; + owner = "vmihailenco"; + repo = "msgpack"; + sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0"; + }; + }; + oglematchers = buildGoPackage rec { rev = "4fc24f97b5b74022c2a3f4ca7eed57ca29083d3e"; name = "oglematchers-${stdenv.lib.strings.substring 0 7 rev}"; From 8fd42c55a9d7a0dfc442296258811a5af4d09f03 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 15:53:59 +0100 Subject: [PATCH 020/248] Port go-mtpfs to buildGoPackage --- pkgs/tools/filesystems/go-mtpfs/default.nix | 62 +++++---------------- pkgs/top-level/go-packages.nix | 30 +++++++++- 2 files changed, 41 insertions(+), 51 deletions(-) diff --git a/pkgs/tools/filesystems/go-mtpfs/default.nix b/pkgs/tools/filesystems/go-mtpfs/default.nix index 2dd37acfe84..7b92f98d5f3 100644 --- a/pkgs/tools/filesystems/go-mtpfs/default.nix +++ b/pkgs/tools/filesystems/go-mtpfs/default.nix @@ -1,57 +1,21 @@ -{ stdenv, lib, pkgconfig, libmtp, go, fetchFromGitHub }: +{ lib, goPackages, pkgconfig, libmtp, fetchFromGitHub }: -let - goDeps = [ - { - root = "github.com/hanwen/go-mtpfs"; - src = fetchFromGitHub { - owner = "hanwen"; - repo = "go-mtpfs"; - rev = "9c2b46050e8ea8574eaec2124867ac7b11e6471d"; - sha256 = "0kxi18cb078q4wikfajp3yvp802wzfsfdp431j0dg2jdw8y7gfii"; - }; - } - { - root = "github.com/hanwen/go-fuse"; - src = fetchFromGitHub { - owner = "hanwen"; - repo = "go-fuse"; - rev = "5d16aa11eef4643de2d91e88a64dcb6138705d58"; - sha256 = "0lycfhchn88kbs81ypz8m5jh032fpbv14gldrjirf32wm1d4f8pj"; - }; - } - { - root = "github.com/hanwen/usb"; - src = fetchFromGitHub { - owner = "hanwen"; - repo = "usb"; - rev = "69aee4530ac705cec7c5344418d982aaf15cf0b1"; - sha256 = "01k0c2g395j65vm1w37mmrfkg6nm900khjrrizzpmx8f8yf20dky"; - }; - } - ]; +with goPackages; - sources = stdenv.mkDerivation rec { - name = "go-deps"; - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); +buildGoPackage rec { + rev = "9c2b46050e8ea8574eaec2124867ac7b11e6471d"; + name = "go-mtpfs-${lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/hanwen/go-mtpfs"; + src = fetchFromGitHub { + inherit rev; + owner = "hanwen"; + repo = "go-mtpfs"; + sha256 = "0kxi18cb078q4wikfajp3yvp802wzfsfdp431j0dg2jdw8y7gfii"; }; -in stdenv.mkDerivation rec { - name = "go-mtpfs"; - src = sources; + buildInputs = [ go-fuse libmtp usb ]; - buildInputs = [ go pkgconfig libmtp ]; - - installPhase = '' - mkdir -p $out/bin - export GOPATH=$src - go build -v -o $out/bin/go-mtpfs github.com/hanwen/go-mtpfs - ''; + subPackages = [ "./" ]; meta = with lib; { description = "A simple FUSE filesystem for mounting Android devices as a MTP device"; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index ae71cd5382c..1060a78ce60 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -1,7 +1,7 @@ /* This file defines the composition for Go packages. */ -{ overrides, stdenv, go, buildGoPackage, git -,fetchgit, fetchhg, fetchurl, fetchFromGitHub }: +{ overrides, stdenv, go, buildGoPackage, git, pkgconfig, libusb +, fetchgit, fetchhg, fetchurl, fetchFromGitHub }: let self = _self // overrides; _self = with self; { @@ -258,6 +258,19 @@ let self = _self // overrides; _self = with self; { }; }; + go-fuse = buildGoPackage rec { + rev = "5d16aa11eef4643de2d91e88a64dcb6138705d58"; + name = "go-fuse-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/hanwen/go-fuse"; + src = fetchFromGitHub { + inherit rev; + owner = "hanwen"; + repo = "go-fuse"; + sha256 = "0lycfhchn88kbs81ypz8m5jh032fpbv14gldrjirf32wm1d4f8pj"; + }; + subPackages = [ "fuse" "fuse/nodefs" "fuse/pathfs" ]; + }; + rcrowley.go-metrics = buildGoPackage rec { rev = "f770e6f5e91a8770cecee02d5d3f7c00b023b4df"; name = "rcrowley.go-metrics-${stdenv.lib.strings.substring 0 7 rev}"; @@ -550,6 +563,19 @@ let self = _self // overrides; _self = with self; { subPackages = [ "./" ]; # prevent building _demos }; + usb = buildGoPackage rec { + rev = "69aee4530ac705cec7c5344418d982aaf15cf0b1"; + name = "usb-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/hanwen/usb"; + src = fetchFromGitHub { + inherit rev; + owner = "hanwen"; + repo = "usb"; + sha256 = "01k0c2g395j65vm1w37mmrfkg6nm900khjrrizzpmx8f8yf20dky"; + }; + buildInputs = [ pkgconfig libusb ]; + }; + websocket = buildGoPackage rec { rev = "f4076986b69612ecb8bc7ce06d742eda6286200d"; name = "websocket-${stdenv.lib.strings.substring 0 7 rev}"; From 040d47510379644f6e5ce253e9d95192f92c97f2 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 15:56:40 +0100 Subject: [PATCH 021/248] Port flannel to buildGoPackage --- pkgs/tools/networking/flannel/default.nix | 29 +++++++++-------------- pkgs/tools/networking/flannel/deps.nix | 28 ---------------------- 2 files changed, 11 insertions(+), 46 deletions(-) delete mode 100644 pkgs/tools/networking/flannel/deps.nix diff --git a/pkgs/tools/networking/flannel/default.nix b/pkgs/tools/networking/flannel/default.nix index be6d1658d3e..b714fe8bc59 100644 --- a/pkgs/tools/networking/flannel/default.nix +++ b/pkgs/tools/networking/flannel/default.nix @@ -1,26 +1,19 @@ -{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: +{ lib, goPackages, fetchFromGitHub }: -stdenv.mkDerivation rec { +with goPackages; + +buildGoPackage rec { version = "0.1.0"; name = "flannel-${version}"; - - src = import ./deps.nix { - inherit stdenv lib fetchFromGitHub; + goPackagePath = "github.com/coreos/flannel"; + src = fetchFromGitHub { + owner = "coreos"; + repo = "flannel"; + rev = "v${version}"; + sha256 = "1f7x6a2c8ix6j5y1r0dq56b58bl2rs2ycbdqb9fz5zv1zk2w20rd"; }; - buildInputs = [ go ]; - - buildPhase = '' - export GOPATH=$src - go build -v -o flannel github.com/coreos/flannel - ''; - - installPhase = '' - mkdir -p $out/bin - mv flannel $out/bin/flannel - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "Flannel is an etcd backed network fabric for containers"; homepage = https://github.com/coreos/flannel; license = licenses.asl20; diff --git a/pkgs/tools/networking/flannel/deps.nix b/pkgs/tools/networking/flannel/deps.nix deleted file mode 100644 index 3af2404ba78..00000000000 --- a/pkgs/tools/networking/flannel/deps.nix +++ /dev/null @@ -1,28 +0,0 @@ -# This file was generated by go2nix. -{ stdenv, lib, fetchFromGitHub }: - -let - goDeps = [ - { - root = "github.com/coreos/flannel"; - src = fetchFromGitHub { - owner = "coreos"; - repo = "flannel"; - rev = "cd584fa5e1545ae86c965588e81ceb24455e980d"; - sha256 = "1f7x6a2c8ix6j5y1r0dq56b58bl2rs2ycbdqb9fz5zv1zk2w20rd"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} From 7cd816e8da6fdf27308f240fd7bea313d2d04bfc Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 19:01:03 +0100 Subject: [PATCH 022/248] Port nsq to buildGoPackage --- pkgs/servers/nsq/default.nix | 39 ++++----- pkgs/servers/nsq/deps.nix | 134 ----------------------------- pkgs/top-level/go-packages.nix | 148 ++++++++++++++++++++++++++++++++- 3 files changed, 163 insertions(+), 158 deletions(-) delete mode 100644 pkgs/servers/nsq/deps.nix diff --git a/pkgs/servers/nsq/default.nix b/pkgs/servers/nsq/default.nix index 4d32c3203c7..9810250943c 100644 --- a/pkgs/servers/nsq/default.nix +++ b/pkgs/servers/nsq/default.nix @@ -1,33 +1,26 @@ -{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: +{ lib, goPackages, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: -stdenv.mkDerivation rec { +with goPackages; + +buildGoPackage rec { version = "0.2.28"; name = "nsq-${version}"; - - src = import ./deps.nix { - inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub; + goPackagePath = "github.com/bitly/nsq"; + src = fetchFromGitHub { + owner = "bitly"; + repo = "nsq"; + rev = "v${version}"; + sha256 = "0drmf1j5w3q4l6f7xjy3y7d7cl50gcx0qwci6mahxsyaaclx60yx"; }; - buildInputs = [ go ]; + subPackages = [ "nsqadmin" ] ++ + map (x: "apps/"+x) [ "nsq_pubsub" "nsq_stat" "nsq_tail" + "nsq_to_file" "nsq_to_http" "nsq_to_nsq" + "nsqd" "nsqlookupd" ]; - buildPhase = '' - export GOPATH=$src - apps=(nsq_pubsub nsq_stat nsq_tail nsq_to_file nsq_to_http nsq_to_nsq nsqd nsqlookupd) + buildInputs = [ go-nsq go-options toml perks go-hostpool ]; - mkdir build - - go build -v -o build/nsqadmin github.com/bitly/nsq/nsqadmin - for app in "''${apps[@]}"; do - go build -v -o build/$app github.com/bitly/nsq/apps/$app - done - ''; - - installPhase = '' - mkdir -p $out/bin - mv build/* $out/bin - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "A realtime distributed messaging platform"; homepage = http://nsq.io/; license = licenses.mit; diff --git a/pkgs/servers/nsq/deps.nix b/pkgs/servers/nsq/deps.nix deleted file mode 100644 index bd98357ece6..00000000000 --- a/pkgs/servers/nsq/deps.nix +++ /dev/null @@ -1,134 +0,0 @@ -{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: - -let - goDeps = [ - { - root = "code.google.com/p/snappy-go"; - src = fetchhg { - url = "http://code.google.com/p/snappy-go"; - rev = "14"; - sha256 = "0ywa52kcii8g2a9lbqcx8ghdf6y56lqq96sl5nl9p6h74rdvmjr7"; - }; - } - { - root = "github.com/BurntSushi/toml"; - src = fetchFromGitHub { - owner = "BurntSushi"; - repo = "toml"; - rev = "f87ce853111478914f0bcffa34d43a93643e6eda"; - sha256 = "0g8203y9ycf34j2q3ymxb8nh4habgwdrjn9vdgrginllx73yq565"; - }; - } - { - root = "github.com/bitly/go-hostpool"; - src = fetchFromGitHub { - owner = "bitly"; - repo = "go-hostpool"; - rev = "fed86fae5cacdc77e7399937e2f8836563620a2e"; - sha256 = "0nbssfp5ksj4hhc0d8lfq54afd9nqv6qzk3vi6rinxr3fgplrj44"; - }; - } - { - root = "github.com/bitly/go-nsq"; - src = fetchFromGitHub { - owner = "bitly"; - repo = "go-nsq"; - rev = "c79a282f05364e340eadc2ce2f862a3d44eea9c0"; - sha256 = "19jlwj5419p5xwjzfnzlddjnbh5g7ifnqhd00i5p0b6ww1gk011p"; - }; - } - { - root = "github.com/bitly/go-simplejson"; - src = fetchFromGitHub { - owner = "bitly"; - repo = "go-simplejson"; - rev = "1cfceb0e12f47ec02665ef480212d7b531d6f4c5"; - sha256 = "1d8x0himl58qn87lv418djy6mbs66p9ai3zpqq13nhkfl67fj3bi"; - }; - } - { - root = "github.com/bitly/nsq"; - src = fetchFromGitHub { - owner = "bitly"; - repo = "nsq"; - rev = "048691a8242c9ec224fc46bf7d05f321026b69f8"; - sha256 = "0drmf1j5w3q4l6f7xjy3y7d7cl50gcx0qwci6mahxsyaaclx60yx"; - }; - } - { - root = "github.com/bmizerany/assert"; - src = fetchFromGitHub { - owner = "bmizerany"; - repo = "assert"; - rev = "e17e99893cb6509f428e1728281c2ad60a6b31e3"; - sha256 = "1lfrvqqmb09y6pcr76yjv4r84cshkd4s7fpmiy7268kfi2cvqnpc"; - }; - } - { - root = "github.com/bmizerany/perks"; - src = fetchFromGitHub { - owner = "bmizerany"; - repo = "perks"; - rev = "aac9e2eab5a334037057336897fd10b0289a5ae8"; - sha256 = "1d027jgc327qz5xmal0hrpqvsj45i9yqmm9pxk3xp3hancvz3l3k"; - }; - } - { - root = "github.com/kr/pretty"; - src = fetchFromGitHub { - owner = "kr"; - repo = "pretty"; - rev = "bc9499caa0f45ee5edb2f0209fbd61fbf3d9018f"; - sha256 = "1m61y592qsnwsqn76v54mm6h2pcvh4wlzbzscc1ag645x0j33vvl"; - }; - } - { - root = "github.com/kr/pty"; - src = fetchFromGitHub { - owner = "kr"; - repo = "pty"; - rev = "67e2db24c831afa6c64fc17b4a143390674365ef"; - sha256 = "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d"; - }; - } - { - root = "github.com/kr/text"; - src = fetchFromGitHub { - owner = "kr"; - repo = "text"; - rev = "6807e777504f54ad073ecef66747de158294b639"; - sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698"; - }; - } - { - root = "github.com/mreiferson/go-options"; - src = fetchFromGitHub { - owner = "mreiferson"; - repo = "go-options"; - rev = "896a539cd709f4f39d787562d1583c016ce7517e"; - sha256 = "0hg0n5grcjcj5719rqchz0plp39wfk3znqxw8y354k4jwsqwmn17"; - }; - } - { - root = "github.com/mreiferson/go-snappystream"; - src = fetchFromGitHub { - owner = "mreiferson"; - repo = "go-snappystream"; - rev = "97c96e6648e99c2ce4fe7d169aa3f7368204e04d"; - sha256 = "08ylvx9r6b1fi76v6cqjvny4yqsvcqjfsg93jdrgs7hi4mxvxynn"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 1060a78ce60..570388f0df3 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -1,7 +1,7 @@ /* This file defines the composition for Go packages. */ { overrides, stdenv, go, buildGoPackage, git, pkgconfig, libusb -, fetchgit, fetchhg, fetchurl, fetchFromGitHub }: +, fetchgit, fetchhg, fetchurl, fetchFromGitHub, fetchbzr }: let self = _self // overrides; _self = with self; { @@ -213,6 +213,18 @@ let self = _self // overrides; _self = with self; { doCheck = false; # please check again }; + go-assert = buildGoPackage rec { + rev = "e17e99893cb6509f428e1728281c2ad60a6b31e3"; + name = "assert-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/bmizerany/assert"; + src = fetchFromGitHub { + inherit rev; + owner = "bmizerany"; + repo = "assert"; + sha256 = "1lfrvqqmb09y6pcr76yjv4r84cshkd4s7fpmiy7268kfi2cvqnpc"; + }; + }; + go-bencode = buildGoPackage rec { version = "1.1.1"; name = "go-bencode-${version}"; @@ -271,6 +283,18 @@ let self = _self // overrides; _self = with self; { subPackages = [ "fuse" "fuse/nodefs" "fuse/pathfs" ]; }; + go-hostpool = buildGoPackage rec { + rev = "fed86fae5cacdc77e7399937e2f8836563620a2e"; + name = "go-hostpool-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/bitly/go-hostpool"; + src = fetchFromGitHub { + inherit rev; + owner = "bitly"; + repo = "go-hostpool"; + sha256 = "0nbssfp5ksj4hhc0d8lfq54afd9nqv6qzk3vi6rinxr3fgplrj44"; + }; + }; + rcrowley.go-metrics = buildGoPackage rec { rev = "f770e6f5e91a8770cecee02d5d3f7c00b023b4df"; name = "rcrowley.go-metrics-${stdenv.lib.strings.substring 0 7 rev}"; @@ -309,6 +333,56 @@ let self = _self // overrides; _self = with self; { }; }; + go-nsq = buildGoPackage rec { + rev = "c79a282f05364e340eadc2ce2f862a3d44eea9c0"; + name = "go-nsq-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/bitly/go-nsq"; + src = fetchFromGitHub { + inherit rev; + owner = "bitly"; + repo = "go-nsq"; + sha256 = "19jlwj5419p5xwjzfnzlddjnbh5g7ifnqhd00i5p0b6ww1gk011p"; + }; + propagatedBuildInputs = [ go-simplejson go-snappystream ]; + }; + + go-options = buildGoPackage rec { + rev = "896a539cd709f4f39d787562d1583c016ce7517e"; + name = "go-options-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/mreiferson/go-options"; + src = fetchFromGitHub { + inherit rev; + owner = "mreiferson"; + repo = "go-options"; + sha256 = "0hg0n5grcjcj5719rqchz0plp39wfk3znqxw8y354k4jwsqwmn17"; + }; + }; + + go-simplejson = buildGoPackage rec { + rev = "1cfceb0e12f47ec02665ef480212d7b531d6f4c5"; + name = "go-simplejson-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/bitly/go-simplejson"; + src = fetchFromGitHub { + inherit rev; + owner = "bitly"; + repo = "go-simplejson"; + sha256 = "1d8x0himl58qn87lv418djy6mbs66p9ai3zpqq13nhkfl67fj3bi"; + }; + }; + + go-snappystream = buildGoPackage rec { + rev = "97c96e6648e99c2ce4fe7d169aa3f7368204e04d"; + name = "go-snappystream-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/mreiferson/go-snappystream"; + src = fetchFromGitHub { + inherit rev; + owner = "mreiferson"; + repo = "go-snappystream"; + sha256 = "08ylvx9r6b1fi76v6cqjvny4yqsvcqjfsg93jdrgs7hi4mxvxynn"; + }; + propagatedBuildInputs = [ snappy-go ]; + }; + go-syslog = buildGoPackage rec { rev = "ac3963b72ac367e48b1e68a831e62b93fb69091c"; name = "go-syslog-${stdenv.lib.strings.substring 0 7 rev}"; @@ -524,6 +598,18 @@ let self = _self // overrides; _self = with self; { }; }; + perks = buildGoPackage rec { + rev = "aac9e2eab5a334037057336897fd10b0289a5ae8"; + name = "perks-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/bmizerany/perks"; + src = fetchFromGitHub { + inherit rev; + owner = "bmizerany"; + repo = "perks"; + sha256 = "1d027jgc327qz5xmal0hrpqvsj45i9yqmm9pxk3xp3hancvz3l3k"; + }; + }; + pflag = buildGoPackage rec { date = "20131112"; rev = "94e98a55fb412fcbcfc302555cb990f5e1590627"; @@ -537,6 +623,41 @@ let self = _self // overrides; _self = with self; { doCheck = false; # bad import path in tests }; + pretty = buildGoPackage rec { + rev = "bc9499caa0f45ee5edb2f0209fbd61fbf3d9018f"; + name = "pretty-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/kr/pretty"; + src = fetchFromGitHub { + inherit rev; + owner = "kr"; + repo = "pretty"; + sha256 = "1m61y592qsnwsqn76v54mm6h2pcvh4wlzbzscc1ag645x0j33vvl"; + }; + }; + + pty = buildGoPackage rec { + rev = "67e2db24c831afa6c64fc17b4a143390674365ef"; + name = "pty-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/kr/pty"; + src = fetchFromGitHub { + inherit rev; + owner = "kr"; + repo = "pty"; + sha256 = "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d"; + }; + }; + + snappy-go = buildGoPackage rec { + rev = "14"; + name = "snappy-go-${rev}"; + goPackagePath = "code.google.com/p/snappy-go"; + src = fetchhg { + inherit rev; + url = "http://code.google.com/p/snappy-go"; + sha256 = "0ywa52kcii8g2a9lbqcx8ghdf6y56lqq96sl5nl9p6h74rdvmjr7"; + }; + }; + stathat = buildGoPackage rec { rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77"; name = "stathat-${stdenv.lib.strings.substring 0 7 rev}"; @@ -563,6 +684,31 @@ let self = _self // overrides; _self = with self; { subPackages = [ "./" ]; # prevent building _demos }; + kr.text = buildGoPackage rec { + rev = "6807e777504f54ad073ecef66747de158294b639"; + name = "kr.text-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/kr/text"; + src = fetchFromGitHub { + inherit rev; + owner = "kr"; + repo = "text"; + sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698"; + }; + propagatedBuildInputs = [ pty ]; + }; + + toml = buildGoPackage rec { + rev = "f87ce853111478914f0bcffa34d43a93643e6eda"; + name = "toml-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/BurntSushi/toml"; + src = fetchFromGitHub { + inherit rev; + owner = "BurntSushi"; + repo = "toml"; + sha256 = "0g8203y9ycf34j2q3ymxb8nh4habgwdrjn9vdgrginllx73yq565"; + }; + }; + usb = buildGoPackage rec { rev = "69aee4530ac705cec7c5344418d982aaf15cf0b1"; name = "usb-${stdenv.lib.strings.substring 0 7 rev}"; From b903bf0a5752668dbbd6e7563e2c7b28309af2f6 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 4 Feb 2015 22:31:50 +0300 Subject: [PATCH 023/248] nixos/samba: cleanup and update defaults --- .../services/network-filesystems/samba.nix | 101 ++++++------------ 1 file changed, 32 insertions(+), 69 deletions(-) diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix index 6fcf8999952..8c79bf663d1 100644 --- a/nixos/modules/services/network-filesystems/samba.nix +++ b/nixos/modules/services/network-filesystems/samba.nix @@ -6,25 +6,11 @@ let cfg = config.services.samba; - logDir = "/var/log/samba"; - privateDir = "/var/samba/private"; - samba = cfg.package; setupScript = '' - if ! test -d /var/samba ; then - mkdir -p /var/samba/locks /var/samba/cores/nmbd /var/samba/cores/smbd /var/samba/cores/winbindd - fi - - passwdFile="$(${pkgs.gnused}/bin/sed -n 's/^.*smb[ ]\+passwd[ ]\+file[ ]\+=[ ]\+\(.*\)/\1/p' ${configFile})" - if [ -n "$passwdFile" ]; then - echo 'INFO: [samba] creating directory containing passwd file' - mkdir -p "$(dirname "$passwdFile")" - fi - - mkdir -p ${logDir} - mkdir -p ${privateDir} + mkdir -p /var/lock/samba /var/log/samba /var/cache/samba /var/lib/samba/private ''; shareConfig = name: @@ -39,9 +25,10 @@ let (if cfg.configText != null then cfg.configText else '' [ global ] - log file = ${logDir}/log.%m - private dir = ${privateDir} - ${optionalString cfg.syncPasswordsByPam "pam password change = true"} + security = ${cfg.securityType} + passwd program = /var/setuid-wrappers/passwd %u + pam password change = ${toString cfg.syncPasswordsByPam} + invalid users = ${toString cfg.invalidUsers} ${cfg.extraConfig} @@ -83,14 +70,16 @@ in services.samba = { enable = mkOption { + type = types.bool; default = false; - description = " + description = '' Whether to enable Samba, which provides file and print services to Windows clients through the SMB/CIFS protocol. - "; + ''; }; package = mkOption { + type = types.package; default = pkgs.samba; example = pkgs.samba4; description = '' @@ -99,72 +88,47 @@ in }; syncPasswordsByPam = mkOption { + type = types.bool; default = false; - description = " - enabling this will add a line directly after pam_unix.so. + description = '' + Enabling this will add a line directly after pam_unix.so. Whenever a password is changed the samba password will be updated as well. However you still yave to add the samba password once using smbpasswd -a user If you don't want to maintain an extra pwd database you still can send plain text passwords which is not secure. - "; + ''; + }; + + invalidUsers = mkOption { + type = types.listOf types.str; + default = [ "root" ]; + description = '' + List of users who are denied to login via Samba. + ''; }; extraConfig = mkOption { - # !!! Bad default. - default = '' - # [global] continuing global section here, section is started by nix to set pids etc - - smb passwd file = /etc/samba/passwd - - # is this useful ? - domain master = auto - - encrypt passwords = Yes - client plaintext auth = No - - # yes: if you use this you probably also want to enable syncPasswordsByPam - # no: You can still use the pam password database. However - # passwords will be sent plain text on network (discouraged) - - workgroup = Users - server string = %h - comment = Samba - log file = /var/log/samba/log.%m - log level = 10 - max log size = 50000 - security = ${cfg.securityType} - - client lanman auth = Yes - dns proxy = no - invalid users = root - passdb backend = tdbsam - passwd program = /usr/bin/passwd %u + type = types.lines; + default = ""; + description = '' + Additional global section and extra section lines go in here. ''; - - description = " - additional global section and extra section lines go in here. - "; - }; - - configFile = mkOption { - description = " - internal use to pass filepath to samba pam module - "; }; configText = mkOption { type = types.nullOr types.lines; default = null; - description = " + description = '' Verbatim contents of smb.conf. If null (default), use the autogenerated file from NixOS instead. - "; + ''; }; securityType = mkOption { - description = "Samba security type"; + type = types.str; default = "user"; example = "share"; + description = "Samba security type"; }; nsswins = mkOption { @@ -179,12 +143,11 @@ in shares = mkOption { default = {}; - description = - '' + description = '' A set describing shared resources. See man smb.conf for options. - ''; - type = types.attrsOf (types.attrsOf types.str); + ''; + type = types.attrsOf (types.attrsOf types.unspecified); example = { srv = { path = "/srv"; From 5e4f771a07f967703222a3fcf8c7a1803a77b85e Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Thu, 5 Feb 2015 10:13:24 +0100 Subject: [PATCH 024/248] Fix go-assert --- pkgs/top-level/go-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 570388f0df3..cbeb6a9609b 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -223,6 +223,7 @@ let self = _self // overrides; _self = with self; { repo = "assert"; sha256 = "1lfrvqqmb09y6pcr76yjv4r84cshkd4s7fpmiy7268kfi2cvqnpc"; }; + propagatedBuildInputs = [ pretty ]; }; go-bencode = buildGoPackage rec { @@ -633,6 +634,7 @@ let self = _self // overrides; _self = with self; { repo = "pretty"; sha256 = "1m61y592qsnwsqn76v54mm6h2pcvh4wlzbzscc1ag645x0j33vvl"; }; + propagatedBuildInputs = [ kr.text ]; }; pty = buildGoPackage rec { From d1b387473323a401572f5700276ee3e785486494 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Thu, 5 Feb 2015 10:55:50 +0100 Subject: [PATCH 025/248] Port influxdb-backup to buildGoPackage --- pkgs/servers/nosql/influxdb/backup.nix | 32 ++++++++++------------- pkgs/servers/nosql/influxdb/deps.nix | 35 -------------------------- pkgs/top-level/go-packages.nix | 11 ++++++++ 3 files changed, 24 insertions(+), 54 deletions(-) delete mode 100644 pkgs/servers/nosql/influxdb/deps.nix diff --git a/pkgs/servers/nosql/influxdb/backup.nix b/pkgs/servers/nosql/influxdb/backup.nix index 89cc1100414..0713f064ca5 100644 --- a/pkgs/servers/nosql/influxdb/backup.nix +++ b/pkgs/servers/nosql/influxdb/backup.nix @@ -1,28 +1,22 @@ -{ stdenv, lib, go, fetchgit }: +{ lib, goPackages, fetchgit }: -stdenv.mkDerivation rec { - version = "4556edb"; - name = "influxdb-backup-${version}"; +with goPackages; - src = import ./deps.nix { - inherit stdenv lib fetchgit; +buildGoPackage rec { + rev = "4556edbffa914a8c17fa1fa1564962a33c6c7596"; + name = "influxdb-backup-${lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/eckardt/influxdb-backup"; + src = fetchgit { + inherit rev; + url = https://github.com/eckardt/influxdb-backup.git; + sha256 = "2928063e6dfe4be7b69c8e72e4d6a5fc557f0c75e9625fadf607d59b8e80e34b"; }; - buildInputs = [ go ]; + subPackages = [ "influxdb-dump" "influxdb-restore" ]; - buildPhase = '' - export GOPATH=$src - go build -v -o influxdb-dump github.com/eckardt/influxdb-backup/influxdb-dump - go build -v -o influxdb-restore github.com/eckardt/influxdb-backup/influxdb-restore - ''; + buildInputs = [ eckardt.influxdb-go ]; - installPhase = '' - mkdir -p $out/bin - mv influxdb-dump $out/bin - mv influxdb-restore $out/bin - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "Backup and Restore for InfluxDB"; homepage = https://github.com/eckardt/influxdb-backup; maintainers = with maintainers; [ offline ]; diff --git a/pkgs/servers/nosql/influxdb/deps.nix b/pkgs/servers/nosql/influxdb/deps.nix deleted file mode 100644 index faafafc2bba..00000000000 --- a/pkgs/servers/nosql/influxdb/deps.nix +++ /dev/null @@ -1,35 +0,0 @@ -# This file was generated by go2nix. -{ stdenv, lib, fetchgit }: - -let - goDeps = [ - { - root = "github.com/eckardt/influxdb-backup"; - src = fetchgit { - url = https://github.com/eckardt/influxdb-backup.git; - rev = "4556edbffa914a8c17fa1fa1564962a33c6c7596"; - sha256 = "2928063e6dfe4be7b69c8e72e4d6a5fc557f0c75e9625fadf607d59b8e80e34b"; - }; - } - { - root = "github.com/eckardt/influxdb-go"; - src = fetchgit { - url = https://github.com/eckardt/influxdb-go.git; - rev = "8b71952efc257237e077c5d0672e936713bad38f"; - sha256 = "5318c7e1131ba2330c90a1b67855209e41d3c77811b1d212a96525b42d391f6e"; - }; - } - ]; - -in - -stdenv.mkDerivation rec { - name = "go-deps"; - - buildCommand = - lib.concatStrings - (map (dep: '' - mkdir -p $out/src/`dirname ${dep.root}` - ln -s ${dep.src} $out/src/${dep.root} - '') goDeps); -} diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index cbeb6a9609b..dfff0b680cd 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -435,6 +435,17 @@ let self = _self // overrides; _self = with self; { }; }; + eckardt.influxdb-go = buildGoPackage rec { + rev = "8b71952efc257237e077c5d0672e936713bad38f"; + name = "influxdb-go-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/eckardt/influxdb-go"; + src = fetchgit { + inherit rev; + url = "https://${goPackagePath}.git"; + sha256 = "5318c7e1131ba2330c90a1b67855209e41d3c77811b1d212a96525b42d391f6e"; + }; + }; + iochan = buildGoPackage rec { rev = "b584a329b193e206025682ae6c10cdbe03b0cd77"; name = "iochan-${stdenv.lib.strings.substring 0 7 rev}"; From e6e4c867e5f9a4971a3234c0db2f8be712236673 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Thu, 5 Feb 2015 13:12:10 +0100 Subject: [PATCH 026/248] Port syncthing to buildGoPackage --- .../networking/syncthing/default.nix | 34 +++++++------------ .../go-modules/generic/default.nix | 4 +-- 2 files changed, 14 insertions(+), 24 deletions(-) diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index e3c8d148ed8..64310054555 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -1,40 +1,30 @@ -{ stdenv, fetchgit, go }: +{ lib, fetchgit, goPackages }: -stdenv.mkDerivation rec { +with goPackages; + +buildGoPackage rec { name = "syncthing-${version}"; version = "0.10.21"; - + goPackagePath = "github.com/syncthing/syncthing"; src = fetchgit { url = "git://github.com/syncthing/syncthing.git"; rev = "refs/tags/v${version}"; sha256 = "60cd8607cf7d2837252680f6c2879aba1f35a2c74a47c2f2ea874d6eed2adaa5"; }; - buildInputs = [ go ]; + subPackages = [ "cmd/syncthing" ]; - buildPhase = '' - mkdir -p "./dependencies/src/github.com/syncthing/syncthing" - cp -r internal "./dependencies/src/github.com/syncthing/syncthing" + buildFlagsArray = "-ldflags=-w -X main.Version v${version}"; - export GOPATH="`pwd`/Godeps/_workspace:`pwd`/dependencies" + preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace"; - go run build.go test - - mkdir ./bin - - go build -o ./bin/syncthing -ldflags "-w -X main.Version v${version}" ./cmd/syncthing - ''; - - installPhase = '' - mkdir -p $out/bin - cp -r ./bin $out - ''; + doCheck = true; meta = { homepage = http://syncthing.net/; description = "Replaces Dropbox and BitTorrent Sync with something open, trustworthy and decentralized"; - license = with stdenv.lib.licenses; mit; - maintainers = with stdenv.lib.maintainers; [ matejc ]; - platforms = with stdenv.lib.platforms; linux; + license = with lib.licenses; mit; + maintainers = with lib.maintainers; [ matejc ]; + platforms = with lib.platforms; linux; }; } diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix index 8259de05cf1..fcf991f12f2 100644 --- a/pkgs/development/go-modules/generic/default.nix +++ b/pkgs/development/go-modules/generic/default.nix @@ -28,12 +28,12 @@ go.stdenv.mkDerivation ( args // { if [ -n "$subPackages" ] ; then for p in $subPackages ; do - go install $makeFlags -p $NIX_BUILD_CORES -v $goPackagePath/$p + go install $buildFlags "''${buildFlagsArray[@]}" -p $NIX_BUILD_CORES -v $goPackagePath/$p done else find . -type d | while read d; do for i in $d/*.go; do - go install $makeFlags -p $NIX_BUILD_CORES -v $d + go install $buildFlags "''${buildFlagsArray[@]}" -p $NIX_BUILD_CORES -v $d break done done From 4ce497e74f3aaf2fb1c0c9521505568c61a7ccbb Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Thu, 5 Feb 2015 13:13:14 +0100 Subject: [PATCH 027/248] Use buildFlags in buildGoPackage instead of makeFlags --- pkgs/applications/networking/pond/default.nix | 2 +- pkgs/tools/misc/ngrok/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/pond/default.nix b/pkgs/applications/networking/pond/default.nix index cec1619f32e..8e89d75dd54 100644 --- a/pkgs/applications/networking/pond/default.nix +++ b/pkgs/applications/networking/pond/default.nix @@ -16,7 +16,7 @@ buildGoPackage rec { buildInputs = [ trousers net crypto protobuf ed25519 ]; - makeFlags = "--tags nogui"; + buildFlags = "--tags nogui"; meta = with lib; { description = "Forward secure, asynchronous messaging for the discerning"; diff --git a/pkgs/tools/misc/ngrok/default.nix b/pkgs/tools/misc/ngrok/default.nix index e91278c5037..fa890cfe0fc 100644 --- a/pkgs/tools/misc/ngrok/default.nix +++ b/pkgs/tools/misc/ngrok/default.nix @@ -27,7 +27,7 @@ buildGoPackage rec { buildInputs = [ git log4go websocket go-vhost mousetrap termbox-go rcrowley.go-metrics yaml-v1 go-bindata go-update binarydist osext ]; - makeFlags = "-tags release"; + buildFlags = "-tags release"; meta = with stdenv.lib; { description = "Reverse proxy that creates a secure tunnel between from a public endpoint t From 1439e72147bf73adb862fd2d153602a5e52103d7 Mon Sep 17 00:00:00 2001 From: koral Date: Thu, 5 Feb 2015 00:36:27 +0100 Subject: [PATCH 028/248] New sslh module. --- nixos/modules/module-list.nix | 1 + nixos/modules/services/networking/sslh.nix | 83 ++++++++++++++++++++++ pkgs/servers/sslh/default.nix | 27 +++++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 113 insertions(+) create mode 100644 nixos/modules/services/networking/sslh.nix create mode 100644 pkgs/servers/sslh/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b949fef6bab..6c6aab14ee7 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -285,6 +285,7 @@ ./services/networking/searx.nix ./services/networking/seeks.nix ./services/networking/spiped.nix + ./services/networking/sslh.nix ./services/networking/ssh/lshd.nix ./services/networking/ssh/sshd.nix ./services/networking/strongswan.nix diff --git a/nixos/modules/services/networking/sslh.nix b/nixos/modules/services/networking/sslh.nix new file mode 100644 index 00000000000..2bfdfc89c88 --- /dev/null +++ b/nixos/modules/services/networking/sslh.nix @@ -0,0 +1,83 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.sslh; + configFile = pkgs.writeText "sslh.conf" '' + verbose: ${if cfg.verbose then "true" else "false"}; + foreground: false; + inetd: false; + numeric: false; + transparent: false; + timeout: "${toString cfg.timeout}"; + user: "nobody"; + pidfile: "/run/sslh.pid"; + + listen: + ( + { host: "${cfg.host}"; port: "${toString cfg.port}"; } + ); + + ${cfg.appendConfig} + ''; + defaultAppendConfig = '' + protocols: + ( + { name: "ssh"; service: "ssh"; host: "localhost"; port: "22"; probe: "builtin"; }, + { name: "openvpn"; host: "localhost"; port: "1194"; probe: "builtin"; }, + { name: "xmpp"; host: "localhost"; port: "5222"; probe: "builtin"; }, + { name: "http"; host: "localhost"; port: "80"; probe: "builtin"; }, + { name: "ssl"; host: "localhost"; port: "443"; probe: "builtin"; }, + { name: "anyprot"; host: "localhost"; port: "443"; probe: "builtin"; } + ); + ''; +in +{ + options = { + services.sslh = { + enable = mkEnableOption "sslh"; + + verbose = mkOption { + type = types.bool; + default = false; + description = "Verbose logs."; + }; + + timeout = mkOption { + type = types.int; + default = 2; + description = "Timeout in seconds."; + }; + + host = mkOption { + type = types.str; + default = config.networking.hostName; + description = "Listening hostname."; + }; + + port = mkOption { + type = types.int; + default = 443; + description = "Listening port."; + }; + + appendConfig = mkOption { + type = types.str; + default = defaultAppendConfig; + description = "Verbatim configuration file."; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.sslh = { + description = "Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig.ExecStart = "${pkgs.sslh}/bin/sslh -F ${configFile}"; + serviceConfig.KillMode = "process"; + serviceConfig.PIDFile = "/run/sslh.pid"; + }; + }; +} diff --git a/pkgs/servers/sslh/default.nix b/pkgs/servers/sslh/default.nix new file mode 100644 index 00000000000..d646e28fb0f --- /dev/null +++ b/pkgs/servers/sslh/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, libcap, libconfig, perl }: + +stdenv.mkDerivation rec { + name = "sslh-${version}"; + version = "1.16"; + + src = fetchurl { + url = "https://github.com/yrutschle/sslh/archive/v${version}.tar.gz"; + sha256 = "0xwi2bflvq4phrqjic84xch20jkg3wdys219mw2cy23sjkzk63mb"; + }; + + postPatch = "patchShebangs *.sh"; + + buildInputs = [ libcap libconfig perl ]; + + makeFlags = "USELIBCAP=1"; + + installFlags = "PREFIX=$(out)"; + + meta = with stdenv.lib; { + description = "Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)"; + license = licenses.gpl2Plus; + homepage = http://www.rutschle.net/tech/sslh.shtml; + maintainers = [ maintainers.koral ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 04a592a7e56..1664ac4261b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8196,6 +8196,8 @@ let }); squid = squids.squid31; # has ipv6 support + sslh = callPackage ../servers/sslh { }; + thttpd = callPackage ../servers/http/thttpd { }; storm = callPackage ../servers/computing/storm { }; From 3f718a743dba51bd71acf03dc0e8d7bbff7410f4 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Thu, 5 Feb 2015 18:07:28 +0100 Subject: [PATCH 029/248] Add dontInstallSrc flag to buildGoPackage --- pkgs/applications/networking/pond/default.nix | 2 ++ .../networking/syncthing/default.nix | 2 ++ pkgs/development/compilers/go/gox.nix | 4 ++++ pkgs/development/go-modules/generic/default.nix | 16 ++++++++++------ pkgs/development/tools/etcdctl/default.nix | 2 ++ pkgs/development/tools/gocode/default.nix | 2 ++ pkgs/development/tools/golint/default.nix | 2 ++ pkgs/development/tools/gotags/default.nix | 2 ++ pkgs/servers/etcd/default.nix | 2 ++ pkgs/servers/nsq/default.nix | 2 ++ pkgs/servers/serfdom/default.nix | 2 ++ pkgs/tools/filesystems/go-mtpfs/default.nix | 2 ++ pkgs/tools/misc/ngrok/default.nix | 2 ++ pkgs/tools/networking/flannel/default.nix | 2 ++ 14 files changed, 38 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/pond/default.nix b/pkgs/applications/networking/pond/default.nix index 8e89d75dd54..59e381e9e22 100644 --- a/pkgs/applications/networking/pond/default.nix +++ b/pkgs/applications/networking/pond/default.nix @@ -18,6 +18,8 @@ buildGoPackage rec { buildFlags = "--tags nogui"; + dontInstallSrc = true; + meta = with lib; { description = "Forward secure, asynchronous messaging for the discerning"; homepage = https://pond.imperialviolet.org; diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 64310054555..ef4c1a58230 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -20,6 +20,8 @@ buildGoPackage rec { doCheck = true; + dontInstallSrc = true; + meta = { homepage = http://syncthing.net/; description = "Replaces Dropbox and BitTorrent Sync with something open, trustworthy and decentralized"; diff --git a/pkgs/development/compilers/go/gox.nix b/pkgs/development/compilers/go/gox.nix index 5e0ff97eada..1833ca37d0e 100644 --- a/pkgs/development/compilers/go/gox.nix +++ b/pkgs/development/compilers/go/gox.nix @@ -15,6 +15,10 @@ buildGoPackage rec { buildInputs = [ iochan ]; + propagatedBuildInputs = [ go ]; + + dontInstallSrc = true; + meta = with lib; { description = "A simple, no-frills tool for Go cross compilation that behaves a lot like standard go build"; homepage = https://github.com/mitchellh/gox; diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix index fcf991f12f2..5dcfa4502ac 100644 --- a/pkgs/development/go-modules/generic/default.nix +++ b/pkgs/development/go-modules/generic/default.nix @@ -64,12 +64,16 @@ go.stdenv.mkDerivation ( args // { installPhase = args.installPhase or '' runHook preInstall - local dir - for d in pkg src; do - mkdir -p $out/share/go - dir="$NIX_BUILD_TOP/go/$d" - [ -e "$dir" ] && cp -r $dir $out/share/go - done + mkdir $out + + if [ -z "$dontInstallSrc" ]; then + local dir + for d in pkg src; do + mkdir -p $out/share/go + dir="$NIX_BUILD_TOP/go/$d" + [ -e "$dir" ] && cp -r $dir $out/share/go + done + fi dir="$NIX_BUILD_TOP/go/bin" [ -e "$dir" ] && cp -r $dir $out diff --git a/pkgs/development/tools/etcdctl/default.nix b/pkgs/development/tools/etcdctl/default.nix index 5fea6012ccf..ae2c06d5a22 100644 --- a/pkgs/development/tools/etcdctl/default.nix +++ b/pkgs/development/tools/etcdctl/default.nix @@ -13,6 +13,8 @@ buildGoPackage rec { sha256 = "1kbri59ppil52v7s992q8r6i1zk9lac0s2w00z2lsgc9w1z59qs0"; }; + dontInstallSrc = true; + meta = with lib; { description = "A simple command line client for etcd"; homepage = http://coreos.com/using-coreos/etcd/; diff --git a/pkgs/development/tools/gocode/default.nix b/pkgs/development/tools/gocode/default.nix index 0472f5aaaa3..96dc059ae3f 100644 --- a/pkgs/development/tools/gocode/default.nix +++ b/pkgs/development/tools/gocode/default.nix @@ -15,6 +15,8 @@ buildGoPackage rec { subPackages = [ "./" ]; + dontInstallSrc = true; + meta = with lib; { description = "An autocompletion daemon for the Go programming language"; homepage = https://github.com/nsf/gocode; diff --git a/pkgs/development/tools/golint/default.nix b/pkgs/development/tools/golint/default.nix index 382e67ed74c..7be4f84680a 100644 --- a/pkgs/development/tools/golint/default.nix +++ b/pkgs/development/tools/golint/default.nix @@ -16,6 +16,8 @@ buildGoPackage rec { subPackages = [ "golint" ]; + dontInstallSrc = true; + meta = with lib; { description = "Linter for Go source code"; homepage = https://github.com/golang/lint; diff --git a/pkgs/development/tools/gotags/default.nix b/pkgs/development/tools/gotags/default.nix index c7d265a10dc..8ba61f793d7 100644 --- a/pkgs/development/tools/gotags/default.nix +++ b/pkgs/development/tools/gotags/default.nix @@ -15,6 +15,8 @@ buildGoPackage rec { sha256 = "1drbypby0isdmkq44jmlv59k3jrwvq2jciaccxx2qc2nnx444fkq"; }; + dontInstallSrc = true; + meta = with lib; { description = "Ctags-compatible tag generator for Go"; homepage = https://github.com/nsf/gotags; diff --git a/pkgs/servers/etcd/default.nix b/pkgs/servers/etcd/default.nix index 89ea70d46c5..abec19663ff 100644 --- a/pkgs/servers/etcd/default.nix +++ b/pkgs/servers/etcd/default.nix @@ -15,6 +15,8 @@ buildGoPackage rec { subPackages = [ "./" ]; + dontInstallSrc = true; + meta = with lib; { description = "A highly-available key value store for shared configuration and service discovery"; homepage = http://coreos.com/using-coreos/etcd/; diff --git a/pkgs/servers/nsq/default.nix b/pkgs/servers/nsq/default.nix index 9810250943c..a7b77b8802a 100644 --- a/pkgs/servers/nsq/default.nix +++ b/pkgs/servers/nsq/default.nix @@ -20,6 +20,8 @@ buildGoPackage rec { buildInputs = [ go-nsq go-options toml perks go-hostpool ]; + dontInstallSrc = true; + meta = with lib; { description = "A realtime distributed messaging platform"; homepage = http://nsq.io/; diff --git a/pkgs/servers/serfdom/default.nix b/pkgs/servers/serfdom/default.nix index c0293caa3a2..381fe6ddc1e 100644 --- a/pkgs/servers/serfdom/default.nix +++ b/pkgs/servers/serfdom/default.nix @@ -16,6 +16,8 @@ buildGoPackage rec { buildInputs = [ cli mapstructure memberlist logutils go-syslog mdns columnize circbuf ]; + dontInstallSrc = true; + meta = with lib; { description = "A service discovery and orchestration tool that is decentralized, highly available, and fault tolerant"; homepage = http://www.serfdom.io/; diff --git a/pkgs/tools/filesystems/go-mtpfs/default.nix b/pkgs/tools/filesystems/go-mtpfs/default.nix index 7b92f98d5f3..cf521425a76 100644 --- a/pkgs/tools/filesystems/go-mtpfs/default.nix +++ b/pkgs/tools/filesystems/go-mtpfs/default.nix @@ -17,6 +17,8 @@ buildGoPackage rec { subPackages = [ "./" ]; + dontInstallSrc = true; + meta = with lib; { description = "A simple FUSE filesystem for mounting Android devices as a MTP device"; homepage = https://github.com/hanwen/go-mtpfs; diff --git a/pkgs/tools/misc/ngrok/default.nix b/pkgs/tools/misc/ngrok/default.nix index fa890cfe0fc..c3019d722af 100644 --- a/pkgs/tools/misc/ngrok/default.nix +++ b/pkgs/tools/misc/ngrok/default.nix @@ -29,6 +29,8 @@ buildGoPackage rec { buildFlags = "-tags release"; + dontInstallSrc = true; + meta = with stdenv.lib; { description = "Reverse proxy that creates a secure tunnel between from a public endpoint t o a locally running web service"; diff --git a/pkgs/tools/networking/flannel/default.nix b/pkgs/tools/networking/flannel/default.nix index b714fe8bc59..3c439541e91 100644 --- a/pkgs/tools/networking/flannel/default.nix +++ b/pkgs/tools/networking/flannel/default.nix @@ -13,6 +13,8 @@ buildGoPackage rec { sha256 = "1f7x6a2c8ix6j5y1r0dq56b58bl2rs2ycbdqb9fz5zv1zk2w20rd"; }; + dontInstallSrc = true; + meta = with lib; { description = "Flannel is an etcd backed network fabric for containers"; homepage = https://github.com/coreos/flannel; From 1b057e9f6fb41e235f819c7f2e20cf0d61ff92c6 Mon Sep 17 00:00:00 2001 From: Emil Rangden Date: Thu, 5 Feb 2015 18:57:11 +0100 Subject: [PATCH 030/248] remove patch that was only used in 5.3 --- pkgs/development/interpreters/php/fix.patch | 78 --------------------- 1 file changed, 78 deletions(-) delete mode 100644 pkgs/development/interpreters/php/fix.patch diff --git a/pkgs/development/interpreters/php/fix.patch b/pkgs/development/interpreters/php/fix.patch deleted file mode 100644 index 02f2c9c6c93..00000000000 --- a/pkgs/development/interpreters/php/fix.patch +++ /dev/null @@ -1,78 +0,0 @@ ---- php-5.0.4/configure 2005-04-03 11:42:50.000000000 +0200 -+++ php-5.0.4-1/configure 2005-07-10 11:06:22.292271176 +0200 -@@ -3381,7 +3381,7 @@ - - case $host_alias in - *aix*) -- APXS_LIBEXECDIR=`$APXS -q LIBEXECDIR` -+ APXS_LIBEXECDIR="$prefix/modules" - EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp" - PHP_AIX_LDFLAGS="-Wl,-brtl" - build_type=shared -@@ -3576,7 +3576,7 @@ - if test "$?" != "0"; then - APACHE_INSTALL="$APXS -i -a -n php5 $SAPI_SHARED" # Old apxs does not have -S option - else -- APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR` -+ APXS_LIBEXECDIR="$prefix/modules" - if test -z `$APXS -q SYSCONFDIR`; then - APACHE_INSTALL="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ - $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ -@@ -4680,7 +4680,7 @@ - { echo "configure: error: Please note that Apache version >= 2.0.40 is required." 1>&2; exit 1; } - fi - -- APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR` -+ APXS_LIBEXECDIR="$prefix/modules" - if test -z `$APXS -q SYSCONFDIR`; then - INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ - $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ -@@ -5510,7 +5510,7 @@ - { echo "configure: error: Please note that Apache version >= 2.0.44 is required." 1>&2; exit 1; } - fi - -- APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR` -+ APXS_LIBEXECDIR="$prefix/modules" - if test -z `$APXS -q SYSCONFDIR`; then - INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ - $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ -@@ -6327,7 +6327,7 @@ - - case $host_alias in - *aix*) -- APXS_LIBEXECDIR=`$APXS -q LIBEXECDIR` -+ APXS_LIBEXECDIR="$prefix/modules" - EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp" - PHP_AIX_LDFLAGS="-Wl,-brtl" - build_type=shared -@@ -6522,7 +6522,7 @@ - if test "$?" != "0"; then - APACHE_HOOKS_INSTALL="$APXS -i -a -n php5 $SAPI_SHARED" # Old apxs does not have -S option - else -- APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR` -+ APXS_LIBEXECDIR="$prefix/modules" - if test -z `$APXS -q SYSCONFDIR`; then - APACHE_HOOKS_INSTALL="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ - $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ -diff -rc php-5.3.18/configure php-5.3.18-new/configure -*** php-5.3.18/configure 2012-10-17 18:29:10.000000000 +0200 ---- php-5.3.18-new/configure 2012-11-13 05:36:24.730136551 +0100 -*************** -*** 45113,45121 **** - - - if test "$PHP_GETTEXT" != "no"; then -! for i in $PHP_GETTEXT /usr/local /usr; do -! test -r $i/include/libintl.h && GETTEXT_DIR=$i && break -! done - - if test -z "$GETTEXT_DIR"; then - { echo "configure: error: Cannot locate header file libintl.h" 1>&2; exit 1; } ---- 45113,45119 ---- - - - if test "$PHP_GETTEXT" != "no"; then -! GETTEXT_DIR=$PHP_GETTEXT - - if test -z "$GETTEXT_DIR"; then - { echo "configure: error: Cannot locate header file libintl.h" 1>&2; exit 1; } From 90e8287ce6a448139867fdd14b8796c650f68a70 Mon Sep 17 00:00:00 2001 From: Emil Rangden Date: Thu, 5 Feb 2015 19:10:44 +0100 Subject: [PATCH 031/248] add php 5.5 --- pkgs/development/interpreters/php/5.5.nix | 265 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 267 insertions(+) create mode 100644 pkgs/development/interpreters/php/5.5.nix diff --git a/pkgs/development/interpreters/php/5.5.nix b/pkgs/development/interpreters/php/5.5.nix new file mode 100644 index 00000000000..70380889bd3 --- /dev/null +++ b/pkgs/development/interpreters/php/5.5.nix @@ -0,0 +1,265 @@ +{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison +, apacheHttpd, mysql, libxml2, readline, zlib, curl, postgresql, gettext +, openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype +, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds +, uwimap, pam, gmp }: + +let + libmcryptOverride = libmcrypt.override { disablePosixThreads = true; }; +in + +composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in { + + version = "5.5.21"; + + name = "php-${version}"; + + enableParallelBuilding = true; + + buildInputs = ["flex" "bison" "pkgconfig"]; + + flags = { + + # much left to do here... + + # SAPI modules: + + apxs2 = { + configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"]; + buildInputs = [apacheHttpd]; + }; + + # Extensions + imap = { + configureFlags = [ + "--with-imap=${uwimap}" + "--with-imap-ssl" + ]; + buildInputs = [ uwimap openssl pam ]; + }; + + ldap = { + configureFlags = ["--with-ldap=${openldap}"]; + buildInputs = [openldap cyrus_sasl openssl]; + }; + + mhash = { + configureFlags = ["--with-mhash"]; + buildInputs = [libmhash]; + }; + + curl = { + configureFlags = ["--with-curl=${curl}"]; + buildInputs = [curl openssl]; + }; + + zlib = { + configureFlags = ["--with-zlib=${zlib}"]; + buildInputs = [zlib]; + }; + + libxml2 = { + configureFlags = [ + "--with-libxml-dir=${libxml2}" + ]; + buildInputs = [ libxml2 ]; + }; + + pcntl = { + configureFlags = [ "--enable-pcntl" ]; + }; + + readline = { + configureFlags = ["--with-readline=${readline}"]; + buildInputs = [ readline ]; + }; + + sqlite = { + configureFlags = ["--with-pdo-sqlite=${sqlite}"]; + buildInputs = [ sqlite ]; + }; + + postgresql = { + configureFlags = ["--with-pgsql=${postgresql}"]; + buildInputs = [ postgresql ]; + }; + + pdo_pgsql = { + configureFlags = ["--with-pdo-pgsql=${postgresql}"]; + buildInputs = [ postgresql ]; + }; + + mysql = { + configureFlags = ["--with-mysql=${mysql}"]; + buildInputs = [ mysql ]; + }; + + mysqli = { + configureFlags = ["--with-mysqli=${mysql}/bin/mysql_config"]; + buildInputs = [ mysql]; + }; + + mysqli_embedded = { + configureFlags = ["--enable-embedded-mysqli"]; + depends = "mysqli"; + assertion = fixed.mysqliSupport; + }; + + pdo_mysql = { + configureFlags = ["--with-pdo-mysql=${mysql}"]; + buildInputs = [ mysql ]; + }; + + bcmath = { + configureFlags = ["--enable-bcmath"]; + }; + + gd = { + # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108. + configureFlags = [ + "--with-gd" + "--with-freetype-dir=${freetype}" + "--with-png-dir=${libpng}" + "--with-jpeg-dir=${libjpeg}" + ]; + buildInputs = [ libpng libjpeg freetype ]; + }; + + gmp = { + configureFlags = ["--with-gmp=${gmp}"]; + buildInputs = [ gmp ]; + }; + + soap = { + configureFlags = ["--enable-soap"]; + }; + + sockets = { + configureFlags = ["--enable-sockets"]; + }; + + openssl = { + configureFlags = ["--with-openssl=${openssl}"]; + buildInputs = ["openssl"]; + }; + + mbstring = { + configureFlags = ["--enable-mbstring"]; + }; + + gettext = { + configureFlags = ["--with-gettext=${gettext}"]; + buildInputs = [gettext]; + }; + + intl = { + configureFlags = ["--enable-intl"]; + buildInputs = [icu]; + }; + + exif = { + configureFlags = ["--enable-exif"]; + }; + + xsl = { + configureFlags = ["--with-xsl=${libxslt}"]; + buildInputs = [libxslt]; + }; + + mcrypt = { + configureFlags = ["--with-mcrypt=${libmcryptOverride}"]; + buildInputs = [libmcryptOverride]; + }; + + bz2 = { + configureFlags = ["--with-bz2=${bzip2}"]; + buildInputs = [bzip2]; + }; + + zip = { + configureFlags = ["--enable-zip"]; + }; + + ftp = { + configureFlags = ["--enable-ftp"]; + }; + + fpm = { + configureFlags = ["--enable-fpm"]; + }; + + mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) { + configureFlags = ["--with-mssql=${freetds}"]; + buildInputs = [freetds]; + }; + + }; + + cfg = { + imapSupport = config.php.imap or true; + ldapSupport = config.php.ldap or true; + mhashSupport = config.php.mhash or true; + mysqlSupport = config.php.mysql or true; + mysqliSupport = config.php.mysqli or true; + pdo_mysqlSupport = config.php.pdo_mysql or true; + libxml2Support = config.php.libxml2 or true; + apxs2Support = config.php.apxs2 or true; + bcmathSupport = config.php.bcmath or true; + socketsSupport = config.php.sockets or true; + curlSupport = config.php.curl or true; + gettextSupport = config.php.gettext or true; + pcntlSupport = config.php.pcntl or true; + postgresqlSupport = config.php.postgresql or true; + readlineSupport = config.php.readline or true; + sqliteSupport = config.php.sqlite or true; + soapSupport = config.php.soap or true; + zlibSupport = config.php.zlib or true; + opensslSupport = config.php.openssl or true; + mbstringSupport = config.php.mbstring or true; + gdSupport = config.php.gd or true; + intlSupport = config.php.intl or true; + exifSupport = config.php.exif or true; + xslSupport = config.php.xsl or false; + mcryptSupport = config.php.mcrypt or true; + bz2Support = config.php.bz2 or false; + zipSupport = config.php.zip or true; + ftpSupport = config.php.ftp or true; + fpmSupport = config.php.fpm or true; + gmpSupport = config.php.gmp or true; + mssqlSupport = config.php.mssql or (!stdenv.isDarwin); + }; + + configurePhase = '' + # Don't record the configure flags since this causes unnecessary + # runtime dependencies. + for i in main/build-defs.h.in scripts/php-config.in; do + substituteInPlace $i \ + --replace '@CONFIGURE_COMMAND@' '(omitted)' \ + --replace '@CONFIGURE_OPTIONS@' "" \ + --replace '@PHP_LDFLAGS@' "" + done + + iniFile=$out/etc/php-recommended.ini + [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin + ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags + ''; + + installPhase = '' + unset installPhase; installPhase; + cp php.ini-production $iniFile + ''; + + src = fetchurl { + url = "http://www.php.net/distributions/php-${version}.tar.bz2"; + sha256 = "1zl3valcak5hb4fmivpfa66arwpvi19js1d5cxq5vjn4fncl5sb2"; + }; + + meta = { + description = "An HTML-embedded scripting language"; + homepage = http://www.php.net/; + license = stdenv.lib.licenses.php301; + }; + + patches = [ ./fix-5.4.patch ]; + +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4ac6232575d..02295fd319d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4317,6 +4317,8 @@ let php54 = callPackage ../development/interpreters/php/5.4.nix { }; + php55 = callPackage ../development/interpreters/php/5.5.nix { }; + picolisp = callPackage ../development/interpreters/picolisp {}; pltScheme = racket; # just to be sure From 36ceb0117671e8cbb8b9723d49c36d158a8f3aee Mon Sep 17 00:00:00 2001 From: Emil Rangden Date: Thu, 5 Feb 2015 19:12:15 +0100 Subject: [PATCH 032/248] add php 5.6 --- pkgs/development/interpreters/php/5.6.nix | 265 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 267 insertions(+) create mode 100644 pkgs/development/interpreters/php/5.6.nix diff --git a/pkgs/development/interpreters/php/5.6.nix b/pkgs/development/interpreters/php/5.6.nix new file mode 100644 index 00000000000..bf0f2076c1c --- /dev/null +++ b/pkgs/development/interpreters/php/5.6.nix @@ -0,0 +1,265 @@ +{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison +, apacheHttpd, mysql, libxml2, readline, zlib, curl, postgresql, gettext +, openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype +, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds +, uwimap, pam, gmp }: + +let + libmcryptOverride = libmcrypt.override { disablePosixThreads = true; }; +in + +composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in { + + version = "5.6.5"; + + name = "php-${version}"; + + enableParallelBuilding = true; + + buildInputs = ["flex" "bison" "pkgconfig"]; + + flags = { + + # much left to do here... + + # SAPI modules: + + apxs2 = { + configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"]; + buildInputs = [apacheHttpd]; + }; + + # Extensions + imap = { + configureFlags = [ + "--with-imap=${uwimap}" + "--with-imap-ssl" + ]; + buildInputs = [ uwimap openssl pam ]; + }; + + ldap = { + configureFlags = ["--with-ldap=${openldap}"]; + buildInputs = [openldap cyrus_sasl openssl]; + }; + + mhash = { + configureFlags = ["--with-mhash"]; + buildInputs = [libmhash]; + }; + + curl = { + configureFlags = ["--with-curl=${curl}"]; + buildInputs = [curl openssl]; + }; + + zlib = { + configureFlags = ["--with-zlib=${zlib}"]; + buildInputs = [zlib]; + }; + + libxml2 = { + configureFlags = [ + "--with-libxml-dir=${libxml2}" + ]; + buildInputs = [ libxml2 ]; + }; + + pcntl = { + configureFlags = [ "--enable-pcntl" ]; + }; + + readline = { + configureFlags = ["--with-readline=${readline}"]; + buildInputs = [ readline ]; + }; + + sqlite = { + configureFlags = ["--with-pdo-sqlite=${sqlite}"]; + buildInputs = [ sqlite ]; + }; + + postgresql = { + configureFlags = ["--with-pgsql=${postgresql}"]; + buildInputs = [ postgresql ]; + }; + + pdo_pgsql = { + configureFlags = ["--with-pdo-pgsql=${postgresql}"]; + buildInputs = [ postgresql ]; + }; + + mysql = { + configureFlags = ["--with-mysql=${mysql}"]; + buildInputs = [ mysql ]; + }; + + mysqli = { + configureFlags = ["--with-mysqli=${mysql}/bin/mysql_config"]; + buildInputs = [ mysql]; + }; + + mysqli_embedded = { + configureFlags = ["--enable-embedded-mysqli"]; + depends = "mysqli"; + assertion = fixed.mysqliSupport; + }; + + pdo_mysql = { + configureFlags = ["--with-pdo-mysql=${mysql}"]; + buildInputs = [ mysql ]; + }; + + bcmath = { + configureFlags = ["--enable-bcmath"]; + }; + + gd = { + # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108. + configureFlags = [ + "--with-gd" + "--with-freetype-dir=${freetype}" + "--with-png-dir=${libpng}" + "--with-jpeg-dir=${libjpeg}" + ]; + buildInputs = [ libpng libjpeg freetype ]; + }; + + gmp = { + configureFlags = ["--with-gmp=${gmp}"]; + buildInputs = [ gmp ]; + }; + + soap = { + configureFlags = ["--enable-soap"]; + }; + + sockets = { + configureFlags = ["--enable-sockets"]; + }; + + openssl = { + configureFlags = ["--with-openssl=${openssl}"]; + buildInputs = ["openssl"]; + }; + + mbstring = { + configureFlags = ["--enable-mbstring"]; + }; + + gettext = { + configureFlags = ["--with-gettext=${gettext}"]; + buildInputs = [gettext]; + }; + + intl = { + configureFlags = ["--enable-intl"]; + buildInputs = [icu]; + }; + + exif = { + configureFlags = ["--enable-exif"]; + }; + + xsl = { + configureFlags = ["--with-xsl=${libxslt}"]; + buildInputs = [libxslt]; + }; + + mcrypt = { + configureFlags = ["--with-mcrypt=${libmcryptOverride}"]; + buildInputs = [libmcryptOverride]; + }; + + bz2 = { + configureFlags = ["--with-bz2=${bzip2}"]; + buildInputs = [bzip2]; + }; + + zip = { + configureFlags = ["--enable-zip"]; + }; + + ftp = { + configureFlags = ["--enable-ftp"]; + }; + + fpm = { + configureFlags = ["--enable-fpm"]; + }; + + mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) { + configureFlags = ["--with-mssql=${freetds}"]; + buildInputs = [freetds]; + }; + + }; + + cfg = { + imapSupport = config.php.imap or true; + ldapSupport = config.php.ldap or true; + mhashSupport = config.php.mhash or true; + mysqlSupport = config.php.mysql or true; + mysqliSupport = config.php.mysqli or true; + pdo_mysqlSupport = config.php.pdo_mysql or true; + libxml2Support = config.php.libxml2 or true; + apxs2Support = config.php.apxs2 or true; + bcmathSupport = config.php.bcmath or true; + socketsSupport = config.php.sockets or true; + curlSupport = config.php.curl or true; + gettextSupport = config.php.gettext or true; + pcntlSupport = config.php.pcntl or true; + postgresqlSupport = config.php.postgresql or true; + readlineSupport = config.php.readline or true; + sqliteSupport = config.php.sqlite or true; + soapSupport = config.php.soap or true; + zlibSupport = config.php.zlib or true; + opensslSupport = config.php.openssl or true; + mbstringSupport = config.php.mbstring or true; + gdSupport = config.php.gd or true; + intlSupport = config.php.intl or true; + exifSupport = config.php.exif or true; + xslSupport = config.php.xsl or false; + mcryptSupport = config.php.mcrypt or true; + bz2Support = config.php.bz2 or false; + zipSupport = config.php.zip or true; + ftpSupport = config.php.ftp or true; + fpmSupport = config.php.fpm or true; + gmpSupport = config.php.gmp or true; + mssqlSupport = config.php.mssql or (!stdenv.isDarwin); + }; + + configurePhase = '' + # Don't record the configure flags since this causes unnecessary + # runtime dependencies. + for i in main/build-defs.h.in scripts/php-config.in; do + substituteInPlace $i \ + --replace '@CONFIGURE_COMMAND@' '(omitted)' \ + --replace '@CONFIGURE_OPTIONS@' "" \ + --replace '@PHP_LDFLAGS@' "" + done + + iniFile=$out/etc/php-recommended.ini + [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin + ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags + ''; + + installPhase = '' + unset installPhase; installPhase; + cp php.ini-production $iniFile + ''; + + src = fetchurl { + url = "http://www.php.net/distributions/php-${version}.tar.bz2"; + sha256 = "0vfhvwn84lrz9psf10sjnwljbna1r7yqxq3lmsh5qajifl3lraxd"; + }; + + meta = { + description = "An HTML-embedded scripting language"; + homepage = http://www.php.net/; + license = stdenv.lib.licenses.php301; + }; + + patches = [ ./fix-5.4.patch ]; + +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 02295fd319d..bc169a83c04 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4319,6 +4319,8 @@ let php55 = callPackage ../development/interpreters/php/5.5.nix { }; + php56 = callPackage ../development/interpreters/php/5.6.nix { }; + picolisp = callPackage ../development/interpreters/picolisp {}; pltScheme = racket; # just to be sure From 8c125c0c7448086cb4bd8dafd1f798d8697fcd78 Mon Sep 17 00:00:00 2001 From: Emil Rangden Date: Thu, 5 Feb 2015 20:22:28 +0100 Subject: [PATCH 033/248] fix phpPackages memcache,memcached,xdebug These packages, and maybe some more include unix.h for some reason. Creating that file makes them build, and in the case of xdebug also appear to work. --- pkgs/build-support/build-pecl.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix index 135b68186f3..5837d413abc 100644 --- a/pkgs/build-support/build-pecl.nix +++ b/pkgs/build-support/build-pecl.nix @@ -20,4 +20,6 @@ stdenv.mkDerivation (args // { makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags; autoreconfPhase = "phpize"; + + preConfigure = "touch unix.h"; }) From 4daa4b86e3db2b06145937b066f216adafd7afca Mon Sep 17 00:00:00 2001 From: Emil Rangden Date: Thu, 5 Feb 2015 20:27:01 +0100 Subject: [PATCH 034/248] add alias for php 5.5 packages. --- pkgs/top-level/all-packages.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bc169a83c04..2924e864d41 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4315,6 +4315,11 @@ let inherit php pkgs; }); + php55Packages = recurseIntoAttrs (import ./php-packages.nix { + inherit pkgs; + php = php55; + }); + php54 = callPackage ../development/interpreters/php/5.4.nix { }; php55 = callPackage ../development/interpreters/php/5.5.nix { }; From 540e3a63e493ff0178cbc8e31f9247d7b9fcabfa Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Fri, 6 Feb 2015 01:41:58 +0300 Subject: [PATCH 035/248] manual/release-notes: add unstable release notes with first entries --- .../manual/release-notes/release-notes.xml | 4 +- .../doc/manual/release-notes/rl-unstable.xml | 41 +++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 nixos/doc/manual/release-notes/rl-unstable.xml diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml index 231a3b4c2e2..a988a5b0199 100644 --- a/nixos/doc/manual/release-notes/release-notes.xml +++ b/nixos/doc/manual/release-notes/release-notes.xml @@ -7,9 +7,11 @@ Release Notes -This section lists the release notes for each stable version of NixOS. +This section lists the release notes for each stable version of NixOS +and current unstable revision. + diff --git a/nixos/doc/manual/release-notes/rl-unstable.xml b/nixos/doc/manual/release-notes/rl-unstable.xml new file mode 100644 index 00000000000..34ffe1d6d32 --- /dev/null +++ b/nixos/doc/manual/release-notes/rl-unstable.xml @@ -0,0 +1,41 @@ + + +Unstable revision + +In addition to numerous new and upgraded packages, this release has the following highlights: + + + + +Following new services were added since the last release: + + + + +When upgrading from a previous release, please be aware of the +following incompatible changes: + + + +Steam now doesn't need root rights to work. Instead of using +*-steam-chrootenv, you should now just run steam. +steamChrootEnv package was renamed to steam, +and old steam package -- to steamOriginal. + + +CMPlayer has been renamed to bomi upstream. Package cmplayer +was accordingly renamed to bomi + + + + + + From 4b1a60b7b157f28685b5faee131dfd52552842d4 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Fri, 6 Feb 2015 01:42:50 +0300 Subject: [PATCH 036/248] remove old aliases of some packages --- pkgs/top-level/all-packages.nix | 9 --------- 1 file changed, 9 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 36dd0f295b9..8c630ef430f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9619,7 +9619,6 @@ let stdenv = overrideCC stdenv gcc49; pulseSupport = config.pulseaudio or false; }; - cmplayer = bomi; cmus = callPackage ../applications/audio/cmus { }; @@ -12166,14 +12165,6 @@ let steam = callPackage ../games/steam/chrootenv.nix { }; - steamChrootEnv = steam.overrideDerivation (args: { - buildCommand = '' - ${args.buildCommand} - echo >&2 "'steamChrootEnv' is replaced with 'steam' now" - echo >&2 "You now need just to run 'steam' without root rights" - ''; - }); - stuntrally = callPackage ../games/stuntrally { }; superTux = callPackage ../games/super-tux { }; From 28b8c50c2dab82447857611f87a704ffb3645fa6 Mon Sep 17 00:00:00 2001 From: "Thor A. Hopland" Date: Fri, 6 Feb 2015 06:53:32 +0100 Subject: [PATCH 037/248] Added Touchegg and 3 depdenencies. Touchegg is a daemon for X that adds gesture based navigation for touch based surfaces. --- pkgs/development/libraries/frame/default.nix | 24 +++++++++++++++++++ pkgs/development/libraries/geis/default.nix | 23 ++++++++++++++++++ pkgs/development/libraries/grail/default.nix | 23 ++++++++++++++++++ pkgs/tools/inputmethods/touchegg/default.nix | 25 ++++++++++++++++++++ 4 files changed, 95 insertions(+) create mode 100644 pkgs/development/libraries/frame/default.nix create mode 100644 pkgs/development/libraries/geis/default.nix create mode 100644 pkgs/development/libraries/grail/default.nix create mode 100644 pkgs/tools/inputmethods/touchegg/default.nix diff --git a/pkgs/development/libraries/frame/default.nix b/pkgs/development/libraries/frame/default.nix new file mode 100644 index 00000000000..86ebaa0d8d9 --- /dev/null +++ b/pkgs/development/libraries/frame/default.nix @@ -0,0 +1,24 @@ +{ enableX11 ? true +, stdenv, fetchurl, pkgconfig, xlibs, xorgserver, xinput }: + +stdenv.mkDerivation rec { + name = "frame-${version}"; + version = "2.5.0"; + src = fetchurl { + url = "https://launchpad.net/frame/trunk/v${version}/+download/${name}.tar.xz"; + sha256 = "bc2a20cd3ac1e61fe0461bd3ee8cb250dbcc1fa511fad0686d267744e9c78f3a"; + }; + + buildInputs = [ + stdenv pkgconfig + ] ++ stdenv.lib.optional enableX11 [xlibs.xorgserver xlibs.libX11 xlibs.libXext xlibs.libXi]; + + configureFlags = stdenv.lib.optional enableX11 "--with-x11"; + + meta = { + homepage = "https://launchpad.net/frame"; + description = "handles the buildup and synchronization of a set of simultaneous touches"; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/development/libraries/geis/default.nix b/pkgs/development/libraries/geis/default.nix new file mode 100644 index 00000000000..15f42afd9a8 --- /dev/null +++ b/pkgs/development/libraries/geis/default.nix @@ -0,0 +1,23 @@ +{ enableX11 ? true +, stdenv, fetchurl, pkgconfig, xlibs, xorgserver, python3, dbus_libs, frame, grail }: + +stdenv.mkDerivation rec { + name = "geis-${version}"; + version = "2.2.16"; + src = fetchurl { + url = "https://launchpad.net/geis/trunk/${version}/+download/${name}.tar.xz"; + sha256 = "40a694092c79f325a2fbf8a9f301177bc91c364f4e637c2aa8963ad2a5aabbcf"; + }; + + buildInputs = [ pkgconfig python3 dbus_libs frame grail ] + ++ stdenv.lib.optional enableX11 [xlibs.libX11 xlibs.libXtst xlibs.libXext xlibs.libXi xlibs.xorgserver]; + + configureFlags = stdenv.lib.optional enableX11"--enable-x11"; + + meta = { + homepage = "https://launchpad.net/geis"; + description = "GEIS is a library for applications and toolkit programmers which provides a consistent platform independent interface for any system-wide input gesture recognition mechanism."; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/development/libraries/grail/default.nix b/pkgs/development/libraries/grail/default.nix new file mode 100644 index 00000000000..3cf946bb4ba --- /dev/null +++ b/pkgs/development/libraries/grail/default.nix @@ -0,0 +1,23 @@ +{ enableX11 ? true, + stdenv, fetchurl, pkgconfig, xlibs, python3, frame }: + +stdenv.mkDerivation rec { + name = "grail-${version}"; + version = "3.1.0"; + src = fetchurl { + url = "https://launchpad.net/grail/trunk/${version}/+download/${name}.tar.bz2"; + sha256 = "c26dced1b3f4317ecf6af36db0e90294d87e43966d56aecc4e97b65368ab78b9"; + }; + + buildInputs = [ pkgconfig python3 frame ] + ++ stdenv.lib.optional enableX11 [xlibs.libX11 xlibs.libXtst xlibs.libXext xlibs.libXi xlibs.libXfixes]; + + configureFlags = stdenv.lib.optional enableX11 "--with-x11"; + + meta = { + homepage = "https://launchpad.net/canonical-multitouch/grail"; + description = "Gesture Recognition And Instantiation Library"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/tools/inputmethods/touchegg/default.nix b/pkgs/tools/inputmethods/touchegg/default.nix new file mode 100644 index 00000000000..1cf3cfa00af --- /dev/null +++ b/pkgs/tools/inputmethods/touchegg/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, xlibs, xorgserver, qt4, mesa, geis }: + +stdenv.mkDerivation rec { + name = "touchegg-${version}"; + version = "1.1.1"; + src = fetchurl { + url = "https://touchegg.googlecode.com/files/${name}.tar.gz"; + sha256 = "95734815c7219d9a71282f3144b3526f2542b4fa270a8e69d644722d024b4038"; + }; + + buildInputs = [ xorgserver mesa xlibs.libX11 xlibs.libXtst xlibs.libXext qt4 geis ]; + + configurePhase = '' + sed -e "s@/usr/@$out/@g" -i $(find . -name touchegg.pro) + sed -e "s@/usr/@$out/@g" -i $(find ./src/touchegg/config/ -name Config.cpp) + qmake touchegg.pro + ''; + + meta = { + homepage = "https://code.google.com/p/touchegg/"; + description = "Macro binding for touch surfaces"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + }; +} \ No newline at end of file From 4c97a7c9adc16796567242410f79485bec33bf3a Mon Sep 17 00:00:00 2001 From: "Thor A. Hopland" Date: Fri, 6 Feb 2015 07:09:49 +0100 Subject: [PATCH 038/248] Added entries for frame, geis, grail and touchegg --- pkgs/top-level/all-packages.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c1bc418d553..9dfdba003a5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2698,6 +2698,8 @@ let stdenv = overrideCC stdenv gcc49; }; + touchegg = callPackage = ../tools/inputmethods/touchegg { }; + torsocks = callPackage ../tools/security/tor/torsocks.nix { }; tpm-quote-tools = callPackage ../tools/security/tpm-quote-tools { }; @@ -4781,6 +4783,8 @@ let fswatch = callPackage ../development/tools/misc/fswatch { }; + frame = callPackage ../development/libraries/frame { }; + pmd = callPackage ../development/tools/analysis/pmd { }; jdepend = callPackage ../development/tools/analysis/jdepend { }; @@ -4793,6 +4797,8 @@ let m4 = gnum4; + geis = callPackage ../development/libraries/geis { }; + global = callPackage ../development/tools/misc/global { }; gnome_doc_utils = callPackage ../development/tools/documentation/gnome-doc-utils {}; @@ -4812,6 +4818,8 @@ let gperf = callPackage ../development/tools/misc/gperf { }; + grail = callPackage ../development/libraries/grail { }; + gtk_doc = callPackage ../development/tools/documentation/gtk-doc { }; gtkdialog = callPackage ../development/tools/misc/gtkdialog { }; From a11c79853dc46828a64a41cebb0ab8eabee5af5f Mon Sep 17 00:00:00 2001 From: "Thor A. Hopland" Date: Fri, 6 Feb 2015 07:38:21 +0100 Subject: [PATCH 039/248] Fixed snafu --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9dfdba003a5..bb9d2c2c7e7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2698,7 +2698,7 @@ let stdenv = overrideCC stdenv gcc49; }; - touchegg = callPackage = ../tools/inputmethods/touchegg { }; + touchegg = callPackage ../tools/inputmethods/touchegg { }; torsocks = callPackage ../tools/security/tor/torsocks.nix { }; From 3e280f20898e344c3a0258b54ffeaa3b91936074 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 5 Feb 2015 23:37:20 -0800 Subject: [PATCH 040/248] nixos/tinc: Fix key generation behavior and use tinc 1.1 by default --- nixos/modules/services/networking/tinc.nix | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix index 16cf1f68fca..f9ca796ea65 100644 --- a/nixos/modules/services/networking/tinc.nix +++ b/nixos/modules/services/networking/tinc.nix @@ -71,7 +71,7 @@ in }; package = mkOption { - default = pkgs.tinc; + default = pkgs.tinc_pre; description = '' The package to use for the tinc daemon's binary. ''; @@ -131,14 +131,22 @@ in preStart = '' mkdir -p /etc/tinc/${network}/hosts - # Prefer ED25519 keys (only in 1.1+) - [ -f "/etc/tinc/${network}/ed25519_key.priv" ] || tinc -n ${network} generate-ed25519-keys + # Determine how we should generate our keys + if type tinc >/dev/null 2>&1; then + # Tinc 1.1+ uses the tinc helper application for key generation - # Otherwise use RSA keys - [ -f "/etc/tinc/${network}/rsa_key.priv" ] || tinc -n ${network} generate-rsa-keys 4096 + # Prefer ED25519 keys (only in 1.1+) + [ -f "/etc/tinc/${network}/ed25519_key.priv" ] || tinc -n ${network} generate-ed25519-keys + + # Otherwise use RSA keys + [ -f "/etc/tinc/${network}/rsa_key.priv" ] || tinc -n ${network} generate-rsa-keys 4096 + else + # Tinc 1.0 uses the tincd application + [ -f "/etc/tinc/${network}/rsa_key.priv" ] || tincd -n ${network} -K 4096 + fi ''; script = '' - ${data.package}/sbin/tincd -D -U tinc.${network} -n ${network} --pidfile /run/tinc.${network}.pid -d ${toString data.debugLevel} + tincd -D -U tinc.${network} -n ${network} --pidfile /run/tinc.${network}.pid -d ${toString data.debugLevel} ''; }) ); From 681f373fb710164997ba7d50efc327354eca2f72 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Fri, 6 Feb 2015 08:49:26 +0100 Subject: [PATCH 041/248] dnscrypt-proxy: bump to version 1.4.3 --- pkgs/tools/networking/dnscrypt-proxy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/dnscrypt-proxy/default.nix b/pkgs/tools/networking/dnscrypt-proxy/default.nix index 50c8dae902c..818c764b1be 100644 --- a/pkgs/tools/networking/dnscrypt-proxy/default.nix +++ b/pkgs/tools/networking/dnscrypt-proxy/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libsodium }: stdenv.mkDerivation rec { - name = "dnscrypt-proxy-1.4.1"; + name = "dnscrypt-proxy-1.4.3"; src = fetchurl { url = "http://download.dnscrypt.org/dnscrypt-proxy/${name}.tar.bz2"; - sha256 = "00cf5c520c8a5a71ad4916b33aa0c8f9f55434039304f4ba10d7fffc620563f8"; + sha256 = "0cij80ryxnikpmm6s79c2fqg6bdiz1wdy50xrnd7w954vw9mhr0b"; }; buildInputs = [ libsodium ]; From 2d4fe59d5b52b7ed65e7ec95b6a26f0b796e6b1d Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Fri, 6 Feb 2015 08:50:15 +0100 Subject: [PATCH 042/248] libsodium: bump to version 1.0.2 --- pkgs/development/libraries/libsodium/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix index af3d03cc661..51d3531283f 100644 --- a/pkgs/development/libraries/libsodium/default.nix +++ b/pkgs/development/libraries/libsodium/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "libsodium-0.7.0"; + name = "libsodium-1.0.2"; src = fetchurl { url = "https://download.libsodium.org/libsodium/releases/${name}.tar.gz"; - sha256 = "0s4iis5h7yh27kamwic3rddyp5ra941bcqcawa37grjvl78zzjjc"; + sha256 = "06dabf77cz6qg7aqv5j5r4m32b5zn253pixwb3k5lm3z0h88y7cn"; }; NIX_LDFLAGS = "-lssp"; From 37649e76e32bd2f5112fe58a5f5c9bae66b5a43e Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Fri, 6 Feb 2015 08:56:38 +0100 Subject: [PATCH 043/248] clamav: bump to version 0.98.6 --- pkgs/tools/security/clamav/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix index 1a76008f889..11e08d502ed 100644 --- a/pkgs/tools/security/clamav/default.nix +++ b/pkgs/tools/security/clamav/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, zlib, bzip2, libiconvOrNull, libxml2, openssl, ncurses, curl }: stdenv.mkDerivation rec { name = "clamav-${version}"; - version = "0.98.5"; + version = "0.98.6"; src = fetchurl { url = "mirror://sourceforge/clamav/clamav-${version}.tar.gz"; - sha256 = "0kdaimnbbb0hymg7d15a3iwk17r8555nyzr3d1j96cwhzbakfbww"; + sha256 = "0l99a0shgzpl8rvrrgbm1ki2zxlb7g1n82bhq7f2snj4amfj94b5"; }; buildInputs = [ zlib bzip2 libxml2 openssl ncurses curl ] From f1951f932da7c22e835a827a569be6e3f19646b9 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Fri, 6 Feb 2015 09:08:24 +0000 Subject: [PATCH 044/248] haskell-resource-pool: bump to 0.2.3.2 Fixes build error. --- pkgs/development/libraries/haskell/resource-pool/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/resource-pool/default.nix b/pkgs/development/libraries/haskell/resource-pool/default.nix index cb43b927c2e..76492381c7a 100644 --- a/pkgs/development/libraries/haskell/resource-pool/default.nix +++ b/pkgs/development/libraries/haskell/resource-pool/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "resource-pool"; - version = "0.2.3.1"; - sha256 = "02fpw5jfzcdhijx8mfpb6j4c8sxl36f04i2nx3cbivh9yhbgqr92"; + version = "0.2.3.2"; + sha256 = "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"; buildDepends = [ hashable monadControl stm time transformers transformersBase vector ]; From fdb5cf8107d6ecb5c775c2ad026551dbd11248f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 6 Feb 2015 12:07:49 +0100 Subject: [PATCH 045/248] chromium: remove preferLocalBuild due to intense IO in VM tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit 84bd62da0a63e18fa285bacf0e648b82d601816e) Signed-off-by: Domen Kožar --- .../networking/browsers/chromium/source/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/source/default.nix b/pkgs/applications/networking/browsers/chromium/source/default.nix index adac4baa29c..15f2feb5a43 100644 --- a/pkgs/applications/networking/browsers/chromium/source/default.nix +++ b/pkgs/applications/networking/browsers/chromium/source/default.nix @@ -63,8 +63,6 @@ stdenv.mkDerivation { rm -rf "$out/tools/gyp" # XXX: Don't even copy it in the first place. ''; - preferLocalBuild = true; - passthru = { inherit version channel; plugins = fetchurl binary; From ad6421fb03c3b91cccac415d6a10bc46b0238cc4 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Fri, 6 Feb 2015 12:08:36 +0100 Subject: [PATCH 046/248] calibre: update from 2.18.0 to 2.19.0 --- pkgs/applications/misc/calibre/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index cbcd16c4e91..e52e0ecff2d 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "calibre-2.18.0"; + name = "calibre-2.19.0"; src = fetchurl { url = "mirror://sourceforge/calibre/${name}.tar.xz"; - sha256 = "05n7kfih4mbhnvpzi5i821jl0na66si2ygz8cql931p2qcfhnixx"; + sha256 = "1acj1i8hlbi99jjgcs9dl9ap7951m1p460srmkdyjmlljw1qhcbn"; }; inherit python; From f145201b35d731435c9fe1afc79e91bcccffa774 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 6 Feb 2015 12:10:56 +0100 Subject: [PATCH 047/248] git-annex: disable shared linking for this executable git-annex has literally dozens of dependencies, and loading all of them at run-time can be slow (https://github.com/NixOS/nixpkgs/issues/4239). --- pkgs/development/haskell-modules/configuration-common.nix | 2 +- pkgs/development/haskell-modules/lib.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 6e64bde1bb4..f8df6ae7ca5 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -37,7 +37,7 @@ self: super: { zeromq4-haskell = super.zeromq4-haskell.override { zeromq = pkgs.zeromq4; }; # These changes are required to support Darwin. - git-annex = super.git-annex.override { + git-annex = (disableSharedExecutables super.git-annex).override { dbus = if pkgs.stdenv.isLinux then self.dbus else null; fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null; hinotify = if pkgs.stdenv.isLinux then self.hinotify else self.fsnotify; diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix index 8337411e1ad..323030f1eaf 100644 --- a/pkgs/development/haskell-modules/lib.nix +++ b/pkgs/development/haskell-modules/lib.nix @@ -40,8 +40,8 @@ rec { enableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = true; }); disableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = false; }); - enableSharedExecutables = drv: overrideCabal drv ( { enableSharedExecutables = true; }); - disableSharedExecutables = drv: overrideCabal drv ( { enableSharedExecutables = false; }); + enableSharedExecutables = drv: overrideCabal drv (drv: { enableSharedExecutables = true; }); + disableSharedExecutables = drv: overrideCabal drv (drv: { enableSharedExecutables = false; }); enableSharedLibraries = drv: overrideCabal drv (drv: { enableSharedLibraries = true; }); disableSharedLibraries = drv: overrideCabal drv (drv: { enableSharedLibraries = false; }); From 3f9bec6e0565a353ae9df4b1132ad2b691c0c891 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 6 Feb 2015 12:29:41 +0100 Subject: [PATCH 048/248] hackage-packages: re-generate from Hackage 2015-02-06T12:29:41+0100 --- .../haskell-modules/configuration-common.nix | 1 + .../configuration-ghc-7.8.x.nix | 7 +- .../haskell-modules/hackage-packages.nix | 192 ++++++++++++------ 3 files changed, 134 insertions(+), 66 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index f8df6ae7ca5..5b72e4d9a33 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -193,6 +193,7 @@ self: super: { # These packages try to access the network. amqp = dontCheck super.amqp; + amqp-conduit = dontCheck super.amqp-conduit; concurrent-dns-cache = dontCheck super.concurrent-dns-cache; dbus = dontCheck super.dbus; # http://hydra.cryp.to/build/498404/log/raw hadoop-rpc = dontCheck super.hadoop-rpc; # http://hydra.cryp.to/build/527461/nixlog/2/raw diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix index 055c2c10999..9dd694387fb 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix @@ -59,7 +59,7 @@ self: super: { imports = super.imports.override { mtl = self.mtl_2_2_1; }; # Newer versions require mtl 2.2.x. - mtl-prelude = self.mtl-prelude_1_0_2; + mtl-prelude = self.mtl-prelude_1_0_3; # The test suite pulls in mtl 2.2.x command-qq = dontCheck super.command-qq; @@ -71,8 +71,9 @@ self: super: { seqid = super.seqid_0_1_0; seqid-streams = super.seqid-streams_0_1_0; - # Requires mtl 2.2.x: https://github.com/tatac1/amqp-conduit/issues/1 - amqp-conduit = markBroken super.amqp-conduit; + # Need binary >= 0.7.2, but our compiler has only 0.7.1.0. + hosc = dontDistribute super.hosc; + tidal-midi = dontDistribute super.tidal-midi; } diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 0cc198365a3..c2fb2db12c6 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -3661,6 +3661,22 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "DynamicTimeWarp" = callPackage + ({ mkDerivation, array, base, criterion, QuickCheck, random, vector + }: + mkDerivation { + pname = "DynamicTimeWarp"; + version = "0.1.0.0"; + sha256 = "0m58bq2jvnr17kdapfydd063af6w5vdyzxad5izk0cj0gids5hk7"; + isLibrary = true; + isExecutable = true; + buildDepends = [ array base criterion QuickCheck random vector ]; + jailbreak = true; + homepage = "https://github.com/zombiecalypse/DynamicTimeWarp"; + description = "Dynamic time warping of sequences"; + license = stdenv.lib.licenses.gpl3; + }) {}; + "DysFRP" = callPackage ({ mkDerivation, base, contravariant, mtl, time, transformers }: mkDerivation { @@ -18151,8 +18167,8 @@ self: { }: mkDerivation { pname = "amqp"; - version = "0.11"; - sha256 = "1brvr8qzkhv7c2j5zzqwfpzw5n2b1l1d92idn2bs4yjzn3c1ama7"; + version = "0.12"; + sha256 = "0bivp7lfnsazd0ng080jf85x9jqzna3r82kxzxy2f12pc5xawn9v"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -18178,8 +18194,8 @@ self: { }: mkDerivation { pname = "amqp-conduit"; - version = "0.1.0.0"; - sha256 = "01c7pksg173ramh0kksyrzpaz661d82d6s0lpfdhi0lgh2qqnw3l"; + version = "0.1.0.1"; + sha256 = "167dkak5hg4q5b7i58mw6bl0mh38nyqbzyrhplmil9nins7cvqmv"; buildDepends = [ amqp base conduit exceptions lifted-base monad-control mtl resourcet text transformers transformers-base @@ -21940,8 +21956,8 @@ self: { ({ mkDerivation, base, bytestring, entropy }: mkDerivation { pname = "bcrypt"; - version = "0.0.5"; - sha256 = "1dcaq81anjj91jwl90dap6sy8b88igy8iyfd6226mdqlh5zyvafg"; + version = "0.0.6"; + sha256 = "032la7v7kp0k26s3lj006hgc7a99ylqpp5qi27jxnac10yjl5bi5"; buildDepends = [ base bytestring entropy ]; description = "Haskell bindings to the bcrypt password hash"; license = stdenv.lib.licenses.bsd3; @@ -26430,8 +26446,8 @@ self: { }: mkDerivation { pname = "cabal-rpm"; - version = "0.9.2"; - sha256 = "1i47vm27vp55dl0qybx5r152w6mfr94zzdr6h2kp49xc8ccvh469"; + version = "0.9.3"; + sha256 = "0xsq77qawvvi2nbxc9z9czyph3pkswvkcclf7xxls1pj254fq4yc"; isLibrary = false; isExecutable = true; buildDepends = [ @@ -27305,8 +27321,8 @@ self: { }: mkDerivation { pname = "casadi-bindings"; - version = "2.2.0.2"; - sha256 = "0cw1vk0zgml4czhbnafqsz3ipy43wnzfnmkxhr1qr022s03nhwyi"; + version = "2.2.0.3"; + sha256 = "1f2xwwrn63wnffhblxwzpvbr7vqi2sz2v2bb3bbs9bf03mb78pja"; buildDepends = [ base casadi-bindings-core casadi-bindings-internal containers linear vector @@ -31577,22 +31593,32 @@ self: { }) {}; "configuration-tools" = callPackage - ({ mkDerivation, aeson, attoparsec, base, base-unicode-symbols - , bytestring, Cabal, case-insensitive, directory, dlist, errors - , mtl, network-uri, optparse-applicative, process, profunctors - , text, transformers, unordered-containers, yaml + ({ mkDerivation, aeson, ansi-wl-pprint, attoparsec, base + , base-unicode-symbols, base64-bytestring, bytestring, Cabal + , case-insensitive, connection, data-default, directory, dlist + , enclosed-exceptions, errors, http-client, http-client-tls + , http-types, monad-control, mtl, network-uri, optparse-applicative + , process, profunctors, text, tls, transformers + , unordered-containers, wai, warp, warp-tls, x509, x509-system + , x509-validation, yaml }: mkDerivation { pname = "configuration-tools"; - version = "0.2.8"; - sha256 = "1xg36kdzh80c1npk43g95pyy08rlldy736a78ihzdhsrqf45jasz"; + version = "0.2.9"; + sha256 = "18ckc18y785xlvywy13lm8whxgqc8kgcgq72cl3rq83mf7iq6ahn"; buildDepends = [ - aeson attoparsec base base-unicode-symbols bytestring Cabal - case-insensitive directory dlist errors mtl network-uri - optparse-applicative process profunctors text transformers - unordered-containers yaml + aeson ansi-wl-pprint attoparsec base base-unicode-symbols + base64-bytestring bytestring Cabal case-insensitive connection + data-default directory dlist enclosed-exceptions errors http-client + http-client-tls monad-control mtl network-uri optparse-applicative + process profunctors text tls transformers unordered-containers x509 + x509-system x509-validation yaml + ]; + testDepends = [ + base base-unicode-symbols bytestring Cabal enclosed-exceptions + errors http-types monad-control mtl text unordered-containers wai + warp warp-tls yaml ]; - testDepends = [ base base-unicode-symbols errors mtl ]; jailbreak = true; homepage = "https://github.com/alephcloud/hs-configuration-tools"; description = "Tools for specifying and parsing configurations"; @@ -46375,8 +46401,8 @@ self: { }: mkDerivation { pname = "friday"; - version = "0.2.0.1"; - sha256 = "1xnngcd3xsj70y3fwklxxy28yd5g9a9xxf5nfi7cbkxakkwk9bc3"; + version = "0.2.0.2"; + sha256 = "1warjzy5ciabyd3wkfaxz82y893vri3zbn8i8xhf7018fcgkna0b"; buildDepends = [ base bytestring convertible deepseq primitive ratio-int transformers vector @@ -48725,8 +48751,8 @@ self: { }: mkDerivation { pname = "git-annex"; - version = "5.20150113"; - sha256 = "16lvw2sh0i69ryf43yl7rh1x1vkvwfqibkbzwvnkcjm9rzga5kxg"; + version = "5.20150205"; + sha256 = "1idmm5psg6dllpazri7xnpgcjrn6z2dcddnvylfsq2vypsh1kirv"; isLibrary = false; isExecutable = true; buildDepends = [ @@ -49190,8 +49216,8 @@ self: { }: mkDerivation { pname = "gitlib-libgit2"; - version = "3.1.0.2"; - sha256 = "15x0fgzmb483qiky3c3yg2sd4w96xqkaj04qvirh4g2ba5qvib73"; + version = "3.1.0.3"; + sha256 = "19lly5nrxa05gj6mv887d419mm65ha40rggv2a8y1jd6s7z6drfi"; buildDepends = [ base bytestring conduit conduit-combinators containers directory exceptions fast-logger filepath gitlib hlibgit2 lifted-async @@ -61726,6 +61752,18 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "horizon" = callPackage + ({ mkDerivation, AC-Angle, base, time }: + mkDerivation { + pname = "horizon"; + version = "0.1.0"; + sha256 = "0yzchd0kfszwf0dwr8vbg7zbr6an5zk0hw658mj82d89jmzldwjv"; + buildDepends = [ AC-Angle base time ]; + homepage = "https://github.com/intractable/horizon"; + description = "Sunrise and sunset UTC approximations from latitude and longitude coordinates"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "hosc" = callPackage ({ mkDerivation, base, binary, blaze-builder, bytestring , data-binary-ieee754, network, QuickCheck, test-framework @@ -67434,8 +67472,8 @@ self: { }: mkDerivation { pname = "hyphenation"; - version = "0.4.1"; - sha256 = "1hcpjjyid7a2kg42xgf6pskfvhz3gfj4iikwzngpmg1xib2ggv6v"; + version = "0.4.2"; + sha256 = "05nhspfsf6nzkv9jivzrf39l24mmm7sb3p8k3sabgb058k3a4h28"; buildDepends = [ base containers unordered-containers ]; testDepends = [ base containers directory doctest filepath unordered-containers @@ -69098,8 +69136,8 @@ self: { }: mkDerivation { pname = "intervals"; - version = "0.7.0.1"; - sha256 = "02qb44ga2yfsymkfixy3fdp943r2flwrsaqhb0pjddr3ixzm4ap9"; + version = "0.7.1"; + sha256 = "03ra3jkch26x4crsq6nh2wnj51jrx7zmwafmq22xqrpsg7hpav92"; buildDepends = [ array base distributive ghc-prim ]; testDepends = [ base directory doctest filepath ]; homepage = "http://github.com/ekmett/intervals"; @@ -70816,8 +70854,8 @@ self: { }: mkDerivation { pname = "jose-jwt"; - version = "0.3"; - sha256 = "15harxg4zdvm0ffwls74grjlf9942sy5hl37plamc7iriln4w1ic"; + version = "0.3.1"; + sha256 = "0s57xks5fp0hvi52kyfcb06pyf31424pa63y2n73qprf0gbm6chb"; buildDepends = [ aeson base base64-bytestring byteable bytestring cereal cipher-aes containers crypto-cipher-types crypto-numbers crypto-pubkey @@ -72677,8 +72715,8 @@ self: { }: mkDerivation { pname = "lambdacms-core"; - version = "0.0.7.3"; - sha256 = "1a5i0jvqsvi0jvz1v3mvj6ip1fxi6000fzw4jl7qb87b0y3cggxm"; + version = "0.0.8.0"; + sha256 = "1aayf3gfv0lpyx5di3m9n0py25ldv6c666z8bkd4kcb8k0ay5bs7"; buildDepends = [ base blaze-html bytestring containers data-default esqueleto file-embed friendly-time gravatar lists mime-mail old-locale @@ -75854,8 +75892,8 @@ self: { }: mkDerivation { pname = "list-t"; - version = "0.4.2"; - sha256 = "0n6zc7n5znjas9mgh3a9bn44xv55910i6c3b2l83n4pl9fnad03v"; + version = "0.4.3"; + sha256 = "0di3w397cib37snazjvqgfsaapcwa136xcn032p5f5s5njkn3sid"; buildDepends = [ base-prelude mmorph monad-control transformers transformers-base ]; @@ -81900,6 +81938,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "mtl-compat" = callPackage + ({ mkDerivation, base, mtl, transformers-compat }: + mkDerivation { + pname = "mtl-compat"; + version = "0.1.1"; + sha256 = "0yajq85gdziwm8fcwh78w1br793yk8rk1pp8kb2yx1ijabmn3xdr"; + buildDepends = [ base mtl transformers-compat ]; + homepage = "https://github.com/RyanGlScott/mtl-compat"; + description = "Orphan mtl instances for ExceptT from transformers-compat"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "mtl-evil-instances" = callPackage ({ mkDerivation, base, monad-control, mtl, transformers , transformers-base @@ -81916,25 +81966,25 @@ self: { license = stdenv.lib.licenses.publicDomain; }) {}; - "mtl-prelude_1_0_2" = callPackage - ({ mkDerivation, mtl, transformers }: + "mtl-prelude_1_0_3" = callPackage + ({ mkDerivation, base, mtl, transformers }: mkDerivation { pname = "mtl-prelude"; - version = "1.0.2"; - sha256 = "0rw0yr8xlkq3pnn3r1sa5v570qp993j7s62y907i8cylx1a1xpfy"; - buildDepends = [ mtl transformers ]; + version = "1.0.3"; + sha256 = "1qr0bwcg9rlj53gbnji969s86qh8laaiibkfy2msziqnp011108x"; + buildDepends = [ base mtl transformers ]; homepage = "https://github.com/nikita-volkov/mtl-prelude"; description = "Reexports of most definitions from \"mtl\" and \"transformers\""; license = stdenv.lib.licenses.mit; }) {}; "mtl-prelude" = callPackage - ({ mkDerivation, mtl, transformers }: + ({ mkDerivation, base, mtl, transformers }: mkDerivation { pname = "mtl-prelude"; - version = "2.0.1"; - sha256 = "0z56ycpfgbrxhk8k74rk254yyhqix8ryz6ni8i7aki294wh2cvwn"; - buildDepends = [ mtl transformers ]; + version = "2.0.2"; + sha256 = "1j42pdkiiqjkdmidgmgpfbwh2i8dwsc40labw4pm86qzsi0r8m2v"; + buildDepends = [ base mtl transformers ]; jailbreak = true; homepage = "https://github.com/nikita-volkov/mtl-prelude"; description = "Reexports of most definitions from \"mtl\" and \"transformers\""; @@ -87981,8 +88031,8 @@ self: { }: mkDerivation { pname = "paypal-adaptive-hoops"; - version = "0.5.3.0"; - sha256 = "0bsm5gvjgjgdm3isyhvdzkcgzx3yvnaiz5ll5xq5w7q7vi8nc62v"; + version = "0.6.0.0"; + sha256 = "0blkzga2wagsivspji6xa2ciqnrc7wzh3kr1qqsh8rmil687sn6x"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -104914,8 +104964,8 @@ self: { }: mkDerivation { pname = "som"; - version = "7.5.0"; - sha256 = "16bfgfd5wz60ji5rj2znx58ha1i73n376x52xdz46s71x67jzv3j"; + version = "8.0.0"; + sha256 = "030vb8blgcbky6yrxmlgrjq68mm95x91cg2yqk0vd5c412rrnwwl"; buildDepends = [ base containers grid MonadRandom ]; testDepends = [ base containers grid MonadRandom QuickCheck random test-framework @@ -110262,15 +110312,14 @@ self: { }: mkDerivation { pname = "tellbot"; - version = "0.4.0.3"; - sha256 = "0n0gfszxz92v1vlkdfq32yzj4lcxph2yymzfkbdaz7y4bjjpikkl"; + version = "0.4.0.4"; + sha256 = "1d5jdkk82y1xj22rpaz42ph3gp0fclghg5wbd8p7z2d9vas4p36n"; isLibrary = false; isExecutable = true; buildDepends = [ base bifunctors containers errors mtl network split time transformers ]; - jailbreak = true; description = "IRC tellbot"; license = stdenv.lib.licenses.gpl3; }) {}; @@ -112270,6 +112319,22 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "tidal-midi" = callPackage + ({ mkDerivation, alsa-core, alsa-seq, base, containers, hashable + , hosc, process, tidal + }: + mkDerivation { + pname = "tidal-midi"; + version = "0.0.1"; + sha256 = "0j2smcjbnsa6ksrgfmcjbm6sjq9ps0l8fqzaib60pgi34b6dnzv8"; + buildDepends = [ + alsa-core alsa-seq base containers hashable hosc process tidal + ]; + homepage = "http://tidal.lurk.org/"; + description = "MIDI support for tidal"; + license = stdenv.lib.licenses.gpl3; + }) {}; + "tidal-vis" = callPackage ({ mkDerivation, base, cairo, colour, tidal }: mkDerivation { @@ -120287,8 +120352,8 @@ self: { }: mkDerivation { pname = "websockets-snap"; - version = "0.9.0.0"; - sha256 = "051y62xga7drrfllv10giyr49z1z9ql8681dgwynmdad5x6asf85"; + version = "0.9.1.0"; + sha256 = "170bivzyqr46s9l7l6dd1nwx3wai9pv0qpf7bw3rxh2y6lxk2546"; buildDepends = [ base bytestring enumerator mtl snap-core snap-server websockets ]; @@ -124196,19 +124261,20 @@ self: { "yesod-purescript" = callPackage ({ mkDerivation, aeson, base, containers, data-default, directory - , filepath, formatting, fsnotify, parsec, purescript, shakespeare - , system-fileio, system-filepath, template-haskell, text, time - , transformers, utf8-string, yesod-core + , filepath, formatting, fsnotify, parsec, purescript, regex-tdfa + , regex-tdfa-text, shakespeare, system-fileio, system-filepath + , template-haskell, text, time, transformers, utf8-string + , yesod-core }: mkDerivation { pname = "yesod-purescript"; - version = "0.0.4.1"; - sha256 = "0waz49xxhipycq0i8q8pz8g2d3sk3ch65x3rbvdip53j6jnz5dlv"; + version = "0.0.4.2"; + sha256 = "0gs90x2c89rqbp480slkcpr93waym08hy9lnsm0vp93cpf0jk30f"; buildDepends = [ aeson base containers data-default directory filepath formatting - fsnotify parsec purescript shakespeare system-fileio - system-filepath template-haskell text time transformers utf8-string - yesod-core + fsnotify parsec purescript regex-tdfa regex-tdfa-text shakespeare + system-fileio system-filepath template-haskell text time + transformers utf8-string yesod-core ]; homepage = "https://github.com/mpietrzak/yesod-purescript"; description = "PureScript integration for Yesod"; From 88c8c7662ceddf0f0830df1e3fa16a3a971e2d3c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 6 Feb 2015 13:40:12 +0100 Subject: [PATCH 049/248] haskell-gtk3: fix build by adding the missing pkgs.gtk3 build input The entry in hackage-packages.nix isn't generated correctly: https://github.com/NixOS/cabal2nix/issues/145. Fixes https://github.com/NixOS/nixpkgs/issues/6190. --- pkgs/development/haskell-modules/configuration-common.nix | 3 ++- pkgs/development/haskell-modules/hackage-packages.nix | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 5b72e4d9a33..fa83b600a3f 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -151,8 +151,9 @@ self: super: { wizards = doJailbreak super.wizards; # https://github.com/NixOS/cabal2nix/issues/136 - gtk = addBuildDepends super.gtk [pkgs.pkgconfig pkgs.gtk]; glib = addBuildDepends super.glib [pkgs.pkgconfig pkgs.glib]; + gtk3 = super.gtk3.override { inherit (pkgs) gtk3; }; + gtk = addBuildDepends super.gtk [pkgs.pkgconfig pkgs.gtk]; # https://github.com/jgm/zip-archive/issues/21 zip-archive = addBuildTool super.zip-archive pkgs.zip; diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index c2fb2db12c6..cd4ecf5511d 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -51519,7 +51519,6 @@ self: { homepage = "http://projects.haskell.org/gtk2hs/"; description = "Binding to the Gtk+ graphical user interface library"; license = stdenv.lib.licenses.lgpl21; - hydraPlatforms = stdenv.lib.platforms.none; }) { gtk3 = null;}; "gtk3-mac-integration" = callPackage From ad1417ed0e98ad6be2c02919d1ebc8e0b7cc98ef Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 6 Feb 2015 13:50:47 +0100 Subject: [PATCH 050/248] git: update to version 2.3.0 --- .../version-management/git-and-tools/git/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 73e2565e457..809a369d09e 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -10,7 +10,7 @@ let - version = "2.1.4"; + version = "2.3.0"; svn = subversionClient.override { perlBindings = true; }; @@ -21,7 +21,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "0gh57mfxz1qrxzfp1lpcaqswhixc246kmajlf0db7g0cn6wnhjd0"; + sha256 = "1jhagfsmn9as6bss0c6zppw0iydcalgmadyywz7kdxbdsqa3mcll"; }; patches = [ From b5baa2c5e42ee37a9307ff0fc93cfdcbe05006c7 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 16 Jan 2015 15:25:20 +0100 Subject: [PATCH 051/248] Add package: luakit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch adds the luakit browser. It has to be build using lua5.1, I tried 5.2 but I couldn't run luakit due to a runtime error with it. It also uses gtk3 here, override to use gtk2, which should also work. Suggested-by: Benno Fünfstück --- .../networking/browsers/luakit/default.nix | 55 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 7 +++ 2 files changed, 62 insertions(+) create mode 100644 pkgs/applications/networking/browsers/luakit/default.nix diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix new file mode 100644 index 00000000000..241d3e7deac --- /dev/null +++ b/pkgs/applications/networking/browsers/luakit/default.nix @@ -0,0 +1,55 @@ +{ stdenv , fetchurl , git , glib_networking , gsettings_desktop_schemas , gtk, +help2man , libunique , lua5 , luafilesystem , luajit , luasqlite3, makeWrapper, +pkgconfig , sqlite , webkit }: + +let + lualibs = [ luafilesystem luasqlite3 ]; + getPath = lib : type : "${lib}/lib/lua/${lua5.luaversion}/?.${type};${lib}/share/lua/${lua5.luaversion}/?.${type}"; + getLuaPath = lib : getPath lib "lua"; + getLuaCPath = lib : getPath lib "so"; + luaPath = stdenv.lib.concatStringsSep ";" (map getLuaPath lualibs); + luaCPath = stdenv.lib.concatStringsSep ";" (map getLuaCPath lualibs); +in +stdenv.mkDerivation { + + name = "luakit-2012.09.13"; + + meta = with stdenv.lib; { + description = "Fast, small, webkit based browser framework extensible in Lua."; + homepage = "http://luakit.org"; + license = licenses.gpl3; + maintainers = with maintainers; [ matthiasbeyer ]; + platforms = platforms.linux; # I only tested linux + }; + + src = fetchurl { + url = "https://github.com/mason-larobina/luakit/archive/2012.09.13-r1.tar.gz"; + sha256 = "067g3bp5w20jypc8rx54dpbn3ysbgxzchgpq7sld5yh2z36s1l52"; + }; + + buildInputs = [ git gsettings_desktop_schemas gtk help2man libunique lua5 + luafilesystem luajit luasqlite3 makeWrapper pkgconfig sqlite webkit ]; + + postPatch = '' + sed -i -e "s/DESTDIR/INSTALLDIR/" ./Makefile + sed -i -e "s|/etc/xdg/luakit/|$out/etc/xdg/luakit/|" lib/lousy/util.lua + patchShebangs ./build-utils + ''; + + buildPhase = '' + make DEVELOPMENT_PATHS=0 USE_LUAJIT=1 INSTALLDIR=$out DESTDIR=$out PREFIX=$out USE_GTK3=1 + ''; + + installPhase = let + luaKitPath = "$out/share/luakit/lib/?/init.lua;$out/share/luakit/lib/?.lua"; + in '' + make DEVELOPMENT_PATHS=0 INSTALLDIR=$out DESTDIR=$out PREFIX=$out USE_GTK3=1 install + wrapProgram $out/bin/luakit \ + --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/usr/share/:$out/share/:$GSETTINGS_SCHEMAS_PATH" \ + --prefix XDG_CONFIG_DIRS : "$out/etc/xdg" \ + --set LUA_PATH '"${luaKitPath};${luaPath};"' \ + --set LUA_CPATH '"${luaCPath};"' + ''; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4f4914db59f..d85ac9011d8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10531,6 +10531,13 @@ let lrzsz = callPackage ../tools/misc/lrzsz { }; + luakit = callPackage ../applications/networking/browsers/luakit { + inherit (lua51Packages) luafilesystem luasqlite3; + lua5 = lua5_1; + gtk = gtk3; + webkit = webkitgtk2; + }; + luminanceHDR = callPackage ../applications/graphics/luminance-hdr { }; lxdvdrip = callPackage ../applications/video/lxdvdrip { }; From 964742c3fe47f5206d0799e9173c7de4ed304623 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 6 Feb 2015 14:25:31 +0100 Subject: [PATCH 052/248] haskell-postgrest: broken because of dependency on outdated optparse-applicative --- pkgs/development/haskell-modules/configuration-common.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index fa83b600a3f..45de68c1471 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -372,8 +372,8 @@ self: super: { # https://github.com/chrisdone/hindent/issues/83 hindent = dontCheck super.hindent; - # https://github.com/begriffs/postgrest/issues/127 - postgrest = dontDistribute super.postgrest; + # https://github.com/begriffs/postgrest/issues/131 + postgrest = markBrokenVersion "0.2.5.2" super.postgrest; # Needs older versions of its dependencies. structured-haskell-mode = (dontJailbreak super.structured-haskell-mode).override { From fca0ba87b3fde233a2be0cce45ddbd720ee26727 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 6 Feb 2015 14:31:30 +0100 Subject: [PATCH 053/248] haskell-MoeDict: build succeeds now --- pkgs/development/haskell-modules/configuration-common.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 45de68c1471..457563744c3 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -420,9 +420,6 @@ self: super: { # https://github.com/haskell-hub/hub-src/issues/24 hub = markBrokenVersion "1.4.0" super.hub; - # https://github.com/audreyt/MoeDict.hs/issues/1 - MoeDict = markBrokenVersion "0.0.1" super.MoeDict; - # https://github.com/pixbi/duplo/issues/25 duplo = dontCheck super.duplo; From f53e18fc406087fef5d4c35a42d5591d9929ecd1 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 6 Feb 2015 14:50:39 +0100 Subject: [PATCH 054/248] Fix luakit description --- pkgs/applications/networking/browsers/luakit/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix index 241d3e7deac..a3edaad37d4 100644 --- a/pkgs/applications/networking/browsers/luakit/default.nix +++ b/pkgs/applications/networking/browsers/luakit/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation { name = "luakit-2012.09.13"; meta = with stdenv.lib; { - description = "Fast, small, webkit based browser framework extensible in Lua."; + description = "Fast, small, webkit based browser framework extensible in Lua"; homepage = "http://luakit.org"; license = licenses.gpl3; maintainers = with maintainers; [ matthiasbeyer ]; From e27ff487bf28f9de53aaf72cdf6aa9197bef32e4 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Fri, 6 Feb 2015 13:35:00 +0100 Subject: [PATCH 055/248] linux-console-tools: update from 1.4.7 to 1.4.8 --- pkgs/os-specific/linux/consoletools/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/consoletools/default.nix b/pkgs/os-specific/linux/consoletools/default.nix index 83c694972e6..6961768e7d3 100644 --- a/pkgs/os-specific/linux/consoletools/default.nix +++ b/pkgs/os-specific/linux/consoletools/default.nix @@ -2,20 +2,22 @@ stdenv.mkDerivation rec { name = "linuxconsoletools-${version}"; - version = "1.4.7"; + version = "1.4.8"; src = fetchurl { url = "mirror://sourceforge/linuxconsole/${name}.tar.bz2"; - sha256 = "1wgcmmjiqw3hh36jzvhgq07kq13ar2miafz02xshds2b0kdcz4s4"; + sha256 = "0spf9hx48cqx2i46pkz0gbrn7xrk68cw8iyrfbs2b3k0bxcsri13"; }; buildInputs = [ SDL ]; - makeFlags = [ "PREFIX=$(out)" ]; + makeFlags = [ "DESTDIR=$(out)"]; - meta = { - homepage = "https://sourceforge.net/projects/linuxconsole/"; + meta = with stdenv.lib; { + homepage = https://sourceforge.net/projects/linuxconsole/; description = "A set of tools for joysticks and serial peripherals"; - license = stdenv.lib.licenses.gpl2Plus; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ pSub ]; longDescription = '' The included tools are: From 288ed0cfa0003966588213a7ef183f755e581165 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Fri, 6 Feb 2015 15:30:45 +0100 Subject: [PATCH 056/248] xosd: update from 2.2.12 to 2.2.14 and added meta information --- pkgs/misc/xosd/default.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/misc/xosd/default.nix b/pkgs/misc/xosd/default.nix index 54538be84b4..b7ab6c9a0fe 100644 --- a/pkgs/misc/xosd/default.nix +++ b/pkgs/misc/xosd/default.nix @@ -1,19 +1,21 @@ { stdenv, fetchurl, libX11, libXext, libXt, xextproto, xproto }: stdenv.mkDerivation rec { - pname = "xosd"; - version = "2.2.12"; - - name = "${pname}-${version}"; + name = "xosd-${version}"; + version = "2.2.14"; src = fetchurl { - url = "http://ignavus.net/${name}.tar.gz"; - sha256 = "7d4ae8e1a6dbd7743af3b1cdc85144e2de26abe6daec25f4bd74bf311774df08"; + url = "mirror://sourceforge/libxosd/${name}.tar.gz"; + sha256 = "025m7ha89q29swkc7s38knnbn8ysl24g2h5s7imfxflm91psj7sg"; }; buildInputs = [ libX11 libXext libXt xextproto xproto ]; - meta = { + meta = with stdenv.lib; { description = "Displays text on your screen"; + homepage = http://sourceforge.net/projects/libxosd; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ pSub ]; }; } From 72acae3295caaed4c755d41d2ba6a9bdbca7839e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ragnar=20Dahl=C3=A9n?= Date: Fri, 6 Feb 2015 15:02:54 +0000 Subject: [PATCH 057/248] wrk: New package HTTP benchmarking tool. --- pkgs/tools/networking/wrk/default.nix | 36 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/tools/networking/wrk/default.nix diff --git a/pkgs/tools/networking/wrk/default.nix b/pkgs/tools/networking/wrk/default.nix new file mode 100644 index 00000000000..9af28dbebd6 --- /dev/null +++ b/pkgs/tools/networking/wrk/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchgit, openssl }: + +let + version = "3.1.2"; + +in stdenv.mkDerivation rec { + name = "wrk-${version}"; + + src = fetchgit { + url = "https://github.com/wg/wrk.git"; + rev = "a52c770204a732aa63e1bb6eb241a70949e3a2a9"; + sha256 = "0b81lg251ivi94f7kfgz8ws4xns5p7hw5qiwjwwlc3dimjgrg387"; + }; + + NIX_CFLAGS_COMPILE = "-I${openssl}/include"; + NIX_CFLAGS_LINK = "-L${openssl}/lib"; + + installPhase = '' + mkdir -p $out/bin + cp wrk $out/bin + ''; + + meta = with stdenv.lib; { + description = "HTTP benchmarking tool."; + homepage = http://github.com/wg/wrk; + longDescription = '' + wrk is a modern HTTP benchmarking tool capable of generating + significant load when run on a single multi-core CPU. It + combines a multithreaded design with scalable event notification + systems such as epoll and kqueue. + ''; + license = licenses.asl20; + maintainers = with maintainers; [ ragge ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 061f26ec8df..485689b600d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2951,6 +2951,8 @@ let wml = callPackage ../development/web/wml { }; + wrk = callPackage ../tools/networking/wrk { }; + wv = callPackage ../tools/misc/wv { }; wv2 = callPackage ../tools/misc/wv2 { }; From 641cdbb8cf7f3aba938b44830d78b4d11c73daea Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Fri, 6 Feb 2015 17:36:30 +0100 Subject: [PATCH 058/248] unison: update from 2.40.102 to 2.48.3 --- pkgs/applications/networking/sync/unison/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix index 4ac5e8300ca..72d2b2557d5 100644 --- a/pkgs/applications/networking/sync/unison/default.nix +++ b/pkgs/applications/networking/sync/unison/default.nix @@ -3,10 +3,10 @@ stdenv.mkDerivation (rec { - name = "unison-2.40.102"; + name = "unison-2.48.3"; src = fetchurl { url = "http://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/${name}.tar.gz"; - sha256 = "0m78q5vnsric1virvkmxxx32ipaq0cnj0kbirdbg36395gq94jix"; + sha256 = "1vmpf11f282sg0dzh28plmd0xcjy3y4z3jszyb1xklwmbvagk5d6"; }; buildInputs = [ ocaml makeWrapper ncurses ]; From 411545b0385c04caf41849531587a9c6ebd93b5d Mon Sep 17 00:00:00 2001 From: Marc Weber Date: Thu, 5 Feb 2015 23:54:54 +0000 Subject: [PATCH 059/248] update vam, vim2nix, fixes 6183 --- pkgs/misc/vim-plugins/default.nix | 162 ++++++++++++++++++------- pkgs/misc/vim-plugins/vim-plugin-names | 2 +- 2 files changed, 117 insertions(+), 47 deletions(-) diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index d0809954233..548519e7abb 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -613,6 +613,7 @@ rec { syntastic = Syntastic; webapi-vim = WebAPI; yankring = YankRing; + "sourcemap.vim" = sourcemap; ### The following derivations are generated by nix#ExportPluginsForNix @@ -636,8 +637,8 @@ rec { name = "Gist"; src = fetchgit { url = "git://github.com/mattn/gist-vim"; - rev = "d609d93472db9cf45bd701bebe51adc356631547"; - sha256 = "e5cabc03d5015c589a32f11c654ab9fbd1e91d26ba01f4b737685be81852c511"; + rev = "8a567b823163d349406dffaff4519e0bac10eade"; + sha256 = "3f1b701529808bfbd000d377d49448d0ddd7e4e0cbf54fdc83fc5b676f567c88"; }; dependencies = []; @@ -676,8 +677,8 @@ rec { name = "Supertab"; src = fetchgit { url = "git://github.com/ervandew/supertab"; - rev = "b0ca47f4570385043f270f9278ba6d50d1d2fa00"; - sha256 = "24e3e63096a6b6f7f00d985ae6f31377154566d6483fb81572a474053fa43082"; + rev = "454c06e25680799b6f408622d6bfbaf920ace825"; + sha256 = "7ec13edc3338281ea1eb2fbae9a79b947fb3b490b684f8b4cc0ff9252845aa01"; }; dependencies = []; @@ -686,8 +687,8 @@ rec { name = "Syntastic"; src = fetchgit { url = "git://github.com/scrooloose/syntastic"; - rev = "30b4ce3411f539f695ab8def7fc69c2f835eb8fe"; - sha256 = "c61e2bcd4455525ec2520d75e7b204e39757731f85f5f72ed179f2068ac33700"; + rev = "7d9aec0bee91be677c38b94ff222d02aa732fe52"; + sha256 = "9175783f6ea7ca148c156d9152ab59741da8e9ddede56c1ef9058a1856815723"; }; dependencies = []; @@ -706,8 +707,8 @@ rec { name = "Tagbar"; src = fetchgit { url = "git://github.com/majutsushi/tagbar"; - rev = "f9c5f24576e82aae5ab8a5480f1ae48615354e40"; - sha256 = "e1ff486f27c0980fee959db69da5617c4653910504b20aeabe87037a8b68712a"; + rev = "00dfa82b00e734b453153564efeec933c48087f0"; + sha256 = "29305a2eb45ca104046b97557e9dbd599611564c533e5493de2fe467913af635"; }; dependencies = []; @@ -736,8 +737,8 @@ rec { name = "UltiSnips"; src = fetchgit { url = "git://github.com/sirver/ultisnips"; - rev = "b26f2c97b7d9be708eef0b4ba0cdfb53c868d9c3"; - sha256 = "094055f6255d207c04e26f15ee15019eb9d4b1710c24061c7f8074d23583b9b2"; + rev = "d693259abb2e28f70abf760d395fcf526d5272ee"; + sha256 = "541e47c9ae5b1e18072f5abfc64eadca8ddfe0271b251f1ddadd15ab98d82600"; }; dependencies = []; @@ -746,8 +747,8 @@ rec { name = "VimOutliner"; src = fetchgit { url = "git://github.com/vimoutliner/vimoutliner"; - rev = "469f49b5f28bc2b838a80568c9413f690cc3ffb6"; - sha256 = "38f88f9bbc43622809404c0054a7a4e9b2214166f3b2784511e4fda05bcb4713"; + rev = "7c995f973c54b0d026137615af28059890edb197"; + sha256 = "9d1526ec99904fd2ccfdb4dd6763b4cd04048cb74bb7a0a4c9b4a7b1f5d75cb5"; }; dependencies = []; @@ -801,8 +802,8 @@ rec { name = "extradite"; src = fetchgit { url = "git://github.com/int3/vim-extradite"; - rev = "af4f3a51b6b654d655121b93c0cd9d8fe9a0c85d"; - sha256 = "d1d29cfbc654134be383747f2cd6b14b7a87de75f997af6a041f14d7ef61ade6"; + rev = "a1dc4b63befd5032e65a0c94e7257d4636aa6a3f"; + sha256 = "94e05bbe36c9d4cee9832530531eedff0da509d5a0a52beee4e524fd4ad96714"; }; dependencies = []; @@ -811,8 +812,8 @@ rec { name = "fugitive"; src = fetchgit { url = "git://github.com/tpope/vim-fugitive"; - rev = "2c8461db084d205903a792a23163faa546f143c9"; - sha256 = "c2569877958fcc5d181cc5b9e26d6b0b022c30aa9ce0908dd96131b44eb90729"; + rev = "933f6a1e1df549564062f936bd1c836d28cf1676"; + sha256 = "f8b43c6f0513a814d6ddc735c2f668b0b1f187bbb0a312a82276c4501ef2a908"; }; dependencies = []; @@ -831,10 +832,10 @@ rec { name = "github-MarcWeber-vim-addon-vim2nix"; src = fetchgit { url = "git://github.com/MarcWeber/vim-addon-vim2nix"; - rev = "1aef89c05ef199fccff34be807ed7eefd914ca41"; - sha256 = "b078fd91cf978ee4cf7002630a83d3381ad781fa99e3ce118185b7f0f417ba2a"; + rev = "74345fa9858eb979c8d66cb59f07211f7c07ae69"; + sha256 = "76dbe055b9eecd107a4607ab8af32b39de3a342e63eadac5a9ddae6852ffdcec"; }; - dependencies = []; + dependencies = ["vim-addon-manager"]; }; "matchit.zip" = buildVimPluginFrom2Nix { # created by nix#NixDerivation @@ -892,8 +893,8 @@ rec { name = "rust"; src = fetchgit { url = "git://github.com/wting/rust.vim"; - rev = "0fd423990cfa69336fb6c1d5d58aa2091e7b4e76"; - sha256 = "21f3decedb24478bc391152bf26a9b88d9e4fa5fcdbdb8a558d95b6bb7be2ff1"; + rev = "2450ecf3091cc7c2711ca9f00eae8e3bedd04376"; + sha256 = "9d2e8b2c06d6100f9a1e76644313d457a2ff955241d8f712de6fddd0b7f5c4ee"; }; dependencies = []; @@ -902,14 +903,14 @@ rec { name = "snipmate"; src = fetchgit { url = "git://github.com/garbas/vim-snipmate"; - rev = "8cb6c3ebe267873dc5abb9a36305c75d9564dea4"; - sha256 = "f4692709724a50ff14ccdd5692d90ebdb950417267adb2228f5ce6006471bad4"; + rev = "22e3bb0133ed6e2acbc630a49f0a780487f56fd5"; + sha256 = "ec4a34d60a3930154342d37116baca5ca135881582261fa2a5136b298650ebe0"; }; dependencies = ["vim-addon-mw-utils" "tlib"]; }; - "sourcemap.vim" = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "sourcemap.vim"; + "sourcemap" = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "sourcemap"; src = fetchgit { url = "git://github.com/chikatoike/sourcemap.vim"; rev = "0dd82d40faea2fdb0771067f46c01deb41610ba1"; @@ -922,8 +923,8 @@ rec { name = "surround"; src = fetchgit { url = "git://github.com/tpope/vim-surround"; - rev = "fa433e0b7330753688f715f3be5d10dc480f20e5"; - sha256 = "5f01daf72d23fc065f4e4e8eac734275474f32bfa276a9d90ce0d20dfe24058d"; + rev = "6afb2d90e3b3a637da093e1022ffaa232a2aeafd"; + sha256 = "775e8d58469840f1cf5d69d3c92914fcca9ace6e351708e491fcc82fd2fa1269"; }; dependencies = []; @@ -932,8 +933,18 @@ rec { name = "table-mode"; src = fetchgit { url = "git://github.com/dhruvasagar/vim-table-mode"; - rev = "e1258702126463b30e32a8a4cd1ba28689a93ef8"; - sha256 = "2b8ac53a0a346f27db617dade3bd3e4da7d5b560a99c636da7d27cf5622a6690"; + rev = "3096a26db437bfb6e66798bfbf45e7549ba767d9"; + sha256 = "78e63f47cdae63507fc567e3c60c214a794be8d072a6b83a980c7bb58396829c"; + }; + dependencies = []; + + }; + "tlib" = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "tlib"; + src = fetchgit { + url = "git://github.com/tomtom/tlib_vim"; + rev = "9e629767e5a91ede057d07f8754326e68c92a692"; + sha256 = "8b435939fb1a439cc89734d3d7a38294217716c5b46b1402486e947e6ae97bb6"; }; dependencies = []; @@ -942,11 +953,21 @@ rec { name = "undotree"; src = fetchgit { url = "git://github.com/mbbill/undotree"; - rev = "88e4a9bc2f7916f24441faf884853a01ba11d294"; - sha256 = "ad55b88db051f57d0c7ddc226a7b7778daab58fa67dc8ac1d78432c0e7d38520"; + rev = "42000e2a7140843030f517de9d4923dd5fa40458"; + sha256 = "9a9a89ccfa69f41ba24ec8f2be366f469e0497cef735ad01ec0f22fef5fcc293"; }; dependencies = []; + }; + "vim-addon-actions" = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "vim-addon-actions"; + src = fetchgit { + url = "git://github.com/MarcWeber/vim-addon-actions"; + rev = "a5d20500fb8812958540cf17862bd73e7af64936"; + sha256 = "d2c3eb7a1f29e7233c6fcf3b02d07efebe8252d404ee593419ad399a5fdf6383"; + }; + dependencies = ["vim-addon-mw-utils" "tlib"]; + }; "vim-addon-async" = buildVimPluginFrom2Nix { # created by nix#NixDerivation name = "vim-addon-async"; @@ -957,6 +978,16 @@ rec { }; dependencies = ["vim-addon-signs"]; + }; + "vim-addon-background-cmd" = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "vim-addon-background-cmd"; + src = fetchgit { + url = "git://github.com/MarcWeber/vim-addon-background-cmd"; + rev = "e99076519139b959edce0581b0f31207a5ec7c64"; + sha256 = "524795221ae727635fe52ead47dff452d2dd48900917da609426ea399a2eceeb"; + }; + dependencies = ["vim-addon-mw-utils"]; + }; "vim-addon-commenting" = buildVimPluginFrom2Nix { # created by nix#NixDerivation name = "vim-addon-commenting"; @@ -967,6 +998,36 @@ rec { }; dependencies = []; + }; + "vim-addon-completion" = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "vim-addon-completion"; + src = fetchgit { + url = "git://github.com/MarcWeber/vim-addon-completion"; + rev = "80f717d68df5b0d7b32228229ddfd29c3e86e435"; + sha256 = "c8c0af8760f2622c4caef371482916861f68a850eb6a7cd746fe8c9ab405c859"; + }; + dependencies = ["tlib"]; + + }; + "vim-addon-errorformats" = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "vim-addon-errorformats"; + src = fetchgit { + url = "git://github.com/MarcWeber/vim-addon-errorformats"; + rev = "dcbb203ad5f56e47e75fdee35bc92e2ba69e1d28"; + sha256 = "a1260206545d5ae17f2e6b3319f5cf1808b74e792979b1c6667d75974cc53f95"; + }; + dependencies = []; + + }; + "vim-addon-goto-thing-at-cursor" = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "vim-addon-goto-thing-at-cursor"; + src = fetchgit { + url = "git://github.com/MarcWeber/vim-addon-goto-thing-at-cursor"; + rev = "f052e094bdb351829bf72ae3435af9042e09a6e4"; + sha256 = "34658ac99d9a630db9c544b3dfcd2c3df69afa5209e27558cc022b7afc2078ea"; + }; + dependencies = ["tlib"]; + }; "vim-addon-local-vimrc" = buildVimPluginFrom2Nix { # created by nix#NixDerivation name = "vim-addon-local-vimrc"; @@ -982,8 +1043,8 @@ rec { name = "vim-addon-manager"; src = fetchgit { url = "git://github.com/MarcWeber/vim-addon-manager"; - rev = "345c4b357843b14f4622f212e4d1e0e3f8a7f08a"; - sha256 = "d8fba7dd089f4a919f91dc284537880d7a841c26dacb503ea08b15dce35e7626"; + rev = "fda9d2f4522024aa8bd8b8305e6a71c4a4a28c07"; + sha256 = "a3b5da9bcc01c6f0fb0a5e13a6f9efb58471339ed32c480fde96856bb9e1e7be"; }; dependencies = []; @@ -1032,8 +1093,18 @@ rec { name = "vim-addon-php-manual"; src = fetchgit { url = "git://github.com/MarcWeber/vim-addon-php-manual"; - rev = "e09ccdce3d2132771d0bd32884553207cc7122d0"; - sha256 = "b2f44be3a1ceca9de7789ea9b5fd36035b720ea529f4301f3771b010d1e453c2"; + rev = "5f9810dd1f6e9f36a45f637ae6260ccff09256ff"; + sha256 = "3942eb6a7191c308beab240e91c99ee4e2c52e2d672503d46f98312e823b86cd"; + }; + dependencies = []; + + }; + "vim-addon-signs" = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "vim-addon-signs"; + src = fetchgit { + url = "git://github.com/MarcWeber/vim-addon-signs"; + rev = "17a49f293d18174ff09d1bfff5ba86e8eee8e8ae"; + sha256 = "a9c03a32e758d51106741605188cb7f00db314c73a26cae75c0c9843509a8fb8"; }; dependencies = []; @@ -1082,8 +1153,8 @@ rec { name = "vim-airline"; src = fetchgit { url = "git://github.com/bling/vim-airline"; - rev = "4a2208821e1d334c4d3cdf66cd1fd0968755e16a"; - sha256 = "ea2d8bb459ae2cc378a46409c7e86db9b1cc8349bd3d2451c9a5db8ae9c8ea1d"; + rev = "446397e006d8cba9e1ac38d8c656ba39218c139b"; + sha256 = "c1f3ae483616318574e892b1cbaac2e08b0b90fd7348d7de745984c764b21119"; }; dependencies = []; @@ -1102,8 +1173,8 @@ rec { name = "vim-easy-align"; src = fetchgit { url = "git://github.com/junegunn/vim-easy-align"; - rev = "246139c57c4a82a9787974165dfeb7bee7dacc9c"; - sha256 = "9205b94f985f633b5cbdde63a4c5a36ce5c4f92f8a89c124ff4ba66458f98cbf"; + rev = "c62d124be614de65922b15d468c4049d1eee9353"; + sha256 = "868bd5a0405a7611e020fe7692a078ca72562674b6d9a404d2d83f665af96aee"; }; dependencies = []; @@ -1112,8 +1183,8 @@ rec { name = "vim-gitgutter"; src = fetchgit { url = "git://github.com/airblade/vim-gitgutter"; - rev = "88c7916d2f653e13cbbcd2c461c83c403d09ca46"; - sha256 = "df56b3cd81a71cd3a4286d878a4cfd7b53c3b7b09f3cf45fa41653050315056c"; + rev = "e5efbaffc066ababc9ae0d689c7050fa5d6591bd"; + sha256 = "78e7db87f4f677ede5aad758131d060f4fb6017cf716aa6adc0736e92934d42d"; }; dependencies = []; @@ -1142,8 +1213,8 @@ rec { name = "vim-signature"; src = fetchgit { url = "git://github.com/kshenoy/vim-signature"; - rev = "598a9275668d772ca18cc052246b96edcbe61de0"; - sha256 = "1c410aaec24840b0e0566cd6e6df100ca3c7fb83d92337efdfc359494b6c49f8"; + rev = "b4ac4f38528313456f98b1a50722cfc9a06bfc45"; + sha256 = "c065eb81669fd76a8bf6d19e220c85ad07ede73e6a9b3dd12634611146303675"; }; dependencies = []; @@ -1152,8 +1223,8 @@ rec { name = "vim-snippets"; src = fetchgit { url = "git://github.com/honza/vim-snippets"; - rev = "436038094a27ed635aaa11ebf50ccddc2d4b9328"; - sha256 = "1db34df31ff1526394de42997e21b47cea152dc2c014dbbb1f3bbeb8986820e1"; + rev = "27906a3754f0ac292d0915a4075bff22db53fa3e"; + sha256 = "fce0a62e78f031a00da0c7863d51d9f19f826bdc01c56cf5fc959132db29b6a6"; }; dependencies = []; @@ -1194,5 +1265,4 @@ rec { }; - } diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index f685f6743be..3f7e400777b 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -12,7 +12,7 @@ "matchit.zip" "vim-addon-xdebug" "vim-addon-php-manual" -"sourcemap.vim" +"sourcemap" "vim-iced-coffee-script" "ctrlp" "commentary" From e4c0ee53d28c9b087e140e6e5829af660253f227 Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Fri, 6 Feb 2015 20:07:10 +0100 Subject: [PATCH 060/248] vimPlugins.YouCompleteMe: updated to latest --- pkgs/misc/vim-plugins/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index 548519e7abb..3bd90143f1b 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -530,8 +530,8 @@ rec { YouCompleteMe = addRtp "${rtpPath}/youcompleteme" (stdenv.mkDerivation { src = fetchgit { url = "https://github.com/Valloric/YouCompleteMe.git"; - rev = "87b42c689391b69968950ae99c3aaacf2e14c329"; - sha256 = "1f3pywv8bsqyyakvyarg7z9m73gmvp1lfbfp2f2jj73jmmlzb2kv"; + rev = "035b6ca862da3bba0ab8aad388a485758311a464"; + sha256 = "9cd8fc8bb9b35e7a164d62fa8e3a1bd3be7e18f4d46c78b5827612f32b9541d5"; }; name = "vimplugin-youcompleteme-2014-10-06"; From d255d416788a7b261252a55fa1c23b1fe3865f0f Mon Sep 17 00:00:00 2001 From: Thomas Strobel Date: Wed, 4 Feb 2015 22:00:18 +0100 Subject: [PATCH 061/248] Update: new features for nix-template-rpm - nix-template-rpm can now split the generated templates into a static part that goes into the nixpkgs tree a dynamic part that can be updated easily to track the rpm spec files - add lookup mechanism for package names and package paths - add mechanism to update existing nix-expression with new download files --- .../templaterpm/nix-template-rpm.py | 320 +++++++++++++++--- 1 file changed, 282 insertions(+), 38 deletions(-) diff --git a/pkgs/build-support/templaterpm/nix-template-rpm.py b/pkgs/build-support/templaterpm/nix-template-rpm.py index 42f8ee8a75f..ec3a619027e 100755 --- a/pkgs/build-support/templaterpm/nix-template-rpm.py +++ b/pkgs/build-support/templaterpm/nix-template-rpm.py @@ -4,6 +4,7 @@ import sys import os import subprocess import argparse +import re import shutil import rpm import urlparse @@ -14,8 +15,8 @@ import toposort -class NixTemplateRPM(object): - def __init__(self, specFilename, inputDir=None, maintainer="MAINTAINER"): +class SPECTemplate(object): + def __init__(self, specFilename, outputDir, inputDir=None, buildRootInclude=None, translateTable=None, repositoryDir=None, allPackagesDir=None, maintainer="MAINTAINER"): rpm.addMacro("buildroot","$out") rpm.addMacro("_libdir","lib") rpm.addMacro("_libexecdir","libexec") @@ -24,22 +25,41 @@ class NixTemplateRPM(object): rpm.addMacro("_topdir","SPACER_DIR_FOR_REMOVAL") rpm.addMacro("_sourcedir","SOURCE_DIR_SPACER") + self.packageGroups = [ "ocaml", "python" ] + ts = rpm.TransactionSet() self.specFilename = specFilename self.spec = ts.parseSpec(specFilename) self.inputDir = inputDir + self.buildRootInclude = buildRootInclude + self.repositoryDir = repositoryDir + self.allPackagesDir = allPackagesDir self.maintainer = maintainer - self.packageGroups = [ "ocaml", "python" ] + self.translateTable = translateTable + + self.facts = self.getFacts() + self.key = self.getSelfKey() + + tmpDir = os.path.join(outputDir, self.rewriteName(self.spec.sourceHeader['name'])) + if self.translateTable != None: + self.relOutputDir = self.translateTable.path(self.key,tmpDir) + else: + self.relOutputDir = tmpDir + + self.final_output_dir = os.path.normpath( self.relOutputDir ) + + if self.repositoryDir != None: + self.potential_repository_dir = os.path.normpath( os.path.join(self.repositoryDir,self.relOutputDir) ) def rewriteCommands(self, string): string = string.replace('SPACER_DIR_FOR_REMOVAL/','') string = string.replace('SPACER_DIR_FOR_REMOVAL','') - string = '\n'.join(map(lambda line: ' '.join(map(lambda x: x.replace('SOURCE_DIR_SPACER/','${./')+'}' if x.startswith('SOURCE_DIR_SPACER/') else x, line.split(' '))), string.split('\n'))) + string = '\n'.join(map(lambda line: ' '.join(map(lambda x: x.replace('SOURCE_DIR_SPACER/',('${./' if (self.buildRootInclude == None) else '${buildRoot}/usr/share/buildroot/SOURCES/'))+('}' if (self.buildRootInclude == None) else '') if x.startswith('SOURCE_DIR_SPACER/') else x, line.split(' '))), string.split('\n'))) string = string.replace('\n','\n ') string = string.rstrip() return string @@ -85,18 +105,31 @@ class NixTemplateRPM(object): else: raise Exception("Unknown target") packages = [] + return packages def getBuildInputs(self,target=None): - return self.rewriteInputs(target,self.spec.sourceHeader['requires']) + inputs = self.rewriteInputs(target,self.spec.sourceHeader['requires']) + if self.translateTable != None: + return map(lambda x: self.translateTable.name(x), inputs) + else: + return inputs - def getSelf(self): + def getSelfKey(self): name = self.spec.sourceHeader['name'] if len(name.split('-')) > 1 and name.split('-')[0] in self.packageGroups: - return self.rewriteInputs(name.split('-')[0], [self.spec.sourceHeader['name']])[0] + key = self.rewriteInputs(name.split('-')[0], [self.spec.sourceHeader['name']])[0] else: - return self.rewriteInputs(None, [self.spec.sourceHeader['name']])[0] + key = self.rewriteInputs(None, [self.spec.sourceHeader['name']])[0] + return key + + def getSelf(self): + if self.translateTable != None: + return self.translateTable.name(self.key) + else: + return self.key + @@ -112,12 +145,34 @@ class NixTemplateRPM(object): shutil.copyfile(os.path.join(input_dir, filename), os.path.join(output_dir, filename)) + def getFacts(self): + facts = {} + facts["name"] = self.rewriteName(self.spec.sourceHeader['name']) + facts["version"] = self.spec.sourceHeader['version'] + + facts["url"] = [] + facts["sha256"] = [] + sources = [source for (source, _, flag) in self.spec.sources if flag==1 if urlparse.urlparse(source).scheme in ["http", "https"] ] + for url in sources: + p = subprocess.Popen(['nix-prefetch-url', url], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + output, err = p.communicate() + sha256 = output[:-1] #remove new line + facts["url"].append(url) + facts["sha256"].append(sha256) + + patches = [source for (source, _, flag) in self.spec.sources if flag==2] + if self.buildRootInclude == None: + facts["patches"] = map(lambda x: './'+x, patches) + else: + facts["patches"] = map(lambda x: '"${buildRoot}/usr/share/buildroot/SOURCES/'+x+'"', reversed(patches)) + + return facts + @property def name(self): - out = 'stdenv.mkDerivation {\n' - out += ' name = "' + self.rewriteName(self.spec.sourceHeader['name']) + '-' + self.spec.sourceHeader['version'] + '";\n' - out += ' version = "' + self.spec.sourceHeader['version'] + '";\n' + out = ' name = "' + self.facts["name"] + '-' + self.facts["version"] + '";\n' + out += ' version = "' + self.facts['version'] + '";\n' return out @@ -125,10 +180,7 @@ class NixTemplateRPM(object): def src(self): sources = [source for (source, _, flag) in self.spec.sources if flag==1 if urlparse.urlparse(source).scheme in ["http", "https"] ] out = '' - for url in sources: - p = subprocess.Popen(['nix-prefetch-url', url], stdout=subprocess.PIPE, stderr=subprocess.PIPE) - output, err = p.communicate() - sha256 = output[:-1] #remove new line + for (url,sha256) in zip(self.facts['url'],self.facts['sha256']): out += ' src = fetchurl {\n' out += ' url = "' + url + '";\n' out += ' sha256 = "' + sha256 + '";\n' @@ -138,8 +190,7 @@ class NixTemplateRPM(object): @property def patch(self): - patches = [source for (source, _, flag) in self.spec.sources if flag==2] - out = ' patches = [ ' + ' '.join(map(lambda x: './'+x, patches)) + ' ];\n' + out = ' patches = [ ' + ' '.join(self.facts['patches']) + ' ];\n' return out @@ -189,11 +240,29 @@ class NixTemplateRPM(object): return out - def __str__(self): - head = '{stdenv, fetchurl, ' + ', '.join(self.getBuildInputs("ALL")) + '}:\n\n' - body = [ self.name, self.src, self.patch, self.buildInputs, self.configure, self.build, self.ocamlExtra, self.install, self.meta ] - return head + '\n'.join(body) + head = '{stdenv, fetchurl, ' + ', '.join(self.getBuildInputs("ALL")) + '}:\n\n' + head += 'stdenv.mkDerivation {\n' + body = [ self.name, self.src, self.patch, self.buildInputs, self.configure, self.build, self.ocamlExtra, self.install, self.meta ] + return head + '\n'.join(body) + + + def getTemplate(self): + head = '{stdenv, buildRoot, fetchurl, ' + ', '.join(self.getBuildInputs("ALL")) + '}:\n\n' + head += 'let\n' + head += ' buildRootInput = (import "${buildRoot}/usr/share/buildroot/buildRootInput.nix") { fetchurl=fetchurl; buildRoot=buildRoot; };\n' + head += 'in\n\n' + head += 'stdenv.mkDerivation {\n' + head += ' inherit (buildRootInput.'+self.rewriteName(self.spec.sourceHeader['name'])+') name version src;\n' + head += ' patches = buildRootInput.'+self.rewriteName(self.spec.sourceHeader['name'])+'.patches ++ [];\n\n' + body = [ self.buildInputs, self.configure, self.build, self.ocamlExtra, self.install, self.meta ] + return head + '\n'.join(body) + + + def getInclude(self): + head = self.rewriteName(self.spec.sourceHeader['name']) + ' = {\n' + body = [ self.name, self.src, self.patch ] + return head + '\n'.join(body) + '};\n' def __cmp__(self,other): @@ -203,8 +272,8 @@ class NixTemplateRPM(object): return -1 - def callPackage(self, output_dir): - callPackage = ' ' + self.getSelf() + ' = callPackage ' + os.path.relpath(output_dir) + ' {' + def callPackage(self): + callPackage = ' ' + self.getSelf() + ' = callPackage ' + os.path.relpath(self.final_output_dir, self.allPackagesDir) + ' {' newline = False; for target in self.packageGroups: tmp = self.getBuildInputs(target) @@ -219,25 +288,141 @@ class NixTemplateRPM(object): - def generateTemplate(self, outputDir): - output_dir = os.path.normpath( os.path.join(outputDir, self.rewriteName(self.spec.sourceHeader['name'])) ) - if not os.path.exists(output_dir): - os.makedirs(output_dir) + def generateCombined(self): + if not os.path.exists(self.final_output_dir): + os.makedirs(self.final_output_dir) if self.inputDir != None: - self.copySources(self.inputDir, output_dir) - self.copyPatches(self.inputDir, output_dir) + self.copySources(self.inputDir, self.final_output_dir) + self.copyPatches(self.inputDir, self.final_output_dir) - nixfile = open(os.path.join(output_dir,'default.nix'), 'w') + nixfile = open(os.path.join(self.final_output_dir,'default.nix'), 'w') nixfile.write(str(self)) nixfile.close() - shutil.copyfile(self.specFilename, os.path.join(output_dir, os.path.basename(self.specFilename))) - - self.pkgCall = self.callPackage(output_dir) + shutil.copyfile(self.specFilename, os.path.join(self.final_output_dir, os.path.basename(self.specFilename))) + def generateSplit(self): + if not os.path.exists(self.final_output_dir): + os.makedirs(self.final_output_dir) + + nixfile = open(os.path.join(self.final_output_dir,'default.nix'), 'w') + nixfile.write(self.getTemplate()) + nixfile.close() + + return self.getInclude() + + + + + + +class NixTemplate(object): + def __init__(self, nixfile): + self.nixfile = nixfile + self.original = { "name":None, "version":None, "url":None, "sha256":None, "patches":None } + self.update = { "name":None, "version":None, "url":None, "sha256":None, "patches":None } + self.matchedLines = {} + + if os.path.isfile(nixfile): + with file(nixfile, 'r') as infile: + for (n,line) in enumerate(infile): + name = re.match(r'^\s*name\s*=\s*"(.*?)"\s*;\s*$', line) + version = re.match(r'^\s*version\s*=\s*"(.*?)"\s*;\s*$', line) + url = re.match(r'^\s*url\s*=\s*"?(.*?)"?\s*;\s*$', line) + sha256 = re.match(r'^\s*sha256\s*=\s*"(.*?)"\s*;\s*$', line) + patches = re.match(r'^\s*patches\s*=\s*(\[.*?\])\s*;\s*$', line) + if name != None and self.original["name"] == None: + self.original["name"] = name.group(1) + self.matchedLines[n] = "name" + if version != None and self.original["version"] == None: + self.original["version"] = version.group(1) + self.matchedLines[n] = "version" + if url != None and self.original["url"] == None: + self.original["url"] = url.group(1) + self.matchedLines[n] = "url" + if sha256 != None and self.original["sha256"] == None: + self.original["sha256"] = sha256.group(1) + self.matchedLines[n] = "sha256" + if patches != None and self.original["patches"] == None: + self.original["patches"] = patches.group(1) + self.matchedLines[n] = "patches" + + + def generateUpdated(self, nixOut): + nixTemplateFile = open(os.path.normpath(self.nixfile),'r') + nixOutFile = open(os.path.normpath(nixOut),'w') + for (n,line) in enumerate(nixTemplateFile): + if self.matchedLines.has_key(n) and self.update[self.matchedLines[n]] != None: + nixOutFile.write(line.replace(self.original[self.matchedLines[n]], self.update[self.matchedLines[n]], 1)) + else: + nixOutFile.write(line) + nixTemplateFile.close() + nixOutFile.close() + + + def loadUpdate(self,orig): + if orig.has_key("name") and orig.has_key("version"): + self.update["name"] = orig["name"] + '-' + orig["version"] + self.update["version"] = orig["version"] + if orig.has_key("url") and orig.has_key("sha256") and len(orig["url"])>0: + self.update["url"] = orig["url"][0] + self.update["sha256"] = orig["sha256"][0] + for url in orig["url"][1:-1]: + sys.stderr.write("WARNING: URL has been dropped: %s\n" % url) + if orig.has_key("patches"): + self.update["patches"] = '[ ' + ' '.join(orig['patches']) + ' ]' + + +class TranslationTable(object): + def __init__(self): + self.tablePath = {} + self.tableName = {} + + def update(self, key, path, name=None): + self.tablePath[key] = path + if name != None: + self.tableName[key] = name + + def readTable(self, tableFile): + with file(tableFile, 'r') as infile: + for line in infile: + match = re.match(r'^(.+?)\s+(.+?)\s+(.+?)\s*$', line) + if match != None: + if not self.tablePath.has_key(match.group(1)): + self.tablePath[match.group(1)] = match.group(2) + if not self.tableName.has_key(match.group(1)): + self.tableName[match.group(1)] = match.group(3) + else: + match = re.match(r'^(.+?)\s+(.+?)\s*$', line) + if not self.tablePath.has_key(match.group(1)): + self.tablePath[match.group(1)] = match.group(2) + + def writeTable(self, tableFile): + outFile = open(os.path.normpath(tableFile),'w') + keys = self.tablePath.keys() + keys.sort() + for k in keys: + if self.tableName.has_key(k): + outFile.write( k + " " + self.tablePath[k] + " " + self.tableName[k] + "\n" ) + else: + outFile.write( k + " " + self.tablePath[k] + "\n" ) + outFile.close() + + def name(self, key): + if self.tableName.has_key(key): + return self.tableName[key] + else: + return key + + def path(self, key, orig): + if self.tablePath.has_key(key): + return self.tablePath[key] + else: + return orig + @@ -247,23 +432,65 @@ if __name__ == "__main__": parser = argparse.ArgumentParser(description="Generate .nix templates from RPM spec files") parser.add_argument("specs", metavar="SPEC", nargs="+", help="spec file") parser.add_argument("-o", "--output", metavar="OUT_DIR", required=True, help="output directory") - parser.add_argument("-i", "--input", metavar="IN_DIR", default=None, help="input directory") - parser.add_argument("-m", "--maintainer", metavar="MAINTAINER", required=True, help="package maintainer") + parser.add_argument("-b", "--buildRoot", metavar="BUILDROOT_DIR", default=None, help="buildroot output directory") + parser.add_argument("-i", "--inputSources", metavar="IN_DIR", default=None, help="sources input directory") + parser.add_argument("-m", "--maintainer", metavar="MAINTAINER", default="__NIX_MAINTAINER__", help="package maintainer") + parser.add_argument("-r", "--repository", metavar="REP_DIR", default=None, help="nix repository to compare output against") + parser.add_argument("-t", "--translate", metavar="TRANSLATE_TABLE", default=None, help="path of translation table for name and path") + parser.add_argument("-u", "--translateOut", metavar="TRANSLATE_OUT", default=None, help="output path for updated translation table") + parser.add_argument("-a", "--allPackages", metavar="ALL_PACKAGES", default=None, help="top level dir to call packages from") args = parser.parse_args() + allPackagesDir = os.path.normpath( os.path.dirname(args.allPackages) ) + if not os.path.exists(allPackagesDir): + os.makedirs(allPackagesDir) + buildRootContent = {} nameMap = {} + newTable = TranslationTable() + if args.translate != None: + table = TranslationTable() + table.readTable(args.translate) + newTable.readTable(args.translate) + else: + table = None + for specPath in args.specs: try: sys.stderr.write("INFO: generate nix file from: %s\n" % specPath) - spec = NixTemplateRPM(specPath, args.input, args.maintainer) - spec.generateTemplate(args.output) + + spec = SPECTemplate(specPath, args.output, args.inputSources, args.buildRoot, table, args.repository, allPackagesDir, args.maintainer) + if args.repository != None: + if os.path.exists(os.path.join(spec.potential_repository_dir,'default.nix')): + nixTemplate = NixTemplate(os.path.join(spec.potential_repository_dir,'default.nix')) + nixTemplate.loadUpdate(spec.facts) + if not os.path.exists(spec.final_output_dir): + os.makedirs(spec.final_output_dir) + nixTemplate.generateUpdated(os.path.join(spec.final_output_dir,'default.nix')) + else: + sys.stderr.write("WARNING: Repository does not contain template: %s\n" % os.path.join(spec.potential_repository_dir,'default.nix')) + if args.buildRoot == None: + spec.generateCombined() + else: + buildRootContent[spec.key] = spec.generateSplit() + else: + if args.buildRoot == None: + spec.generateCombined() + else: + buildRootContent[spec.key] = spec.generateSplit() + + newTable.update(spec.key,spec.relOutputDir,spec.getSelf()) nameMap[spec.getSelf()] = spec except Exception, e: sys.stderr.write("ERROR: %s failed with:\n%s\n%s\n" % (specPath,e.message,traceback.format_exc())) + if args.translateOut != None: + if not os.path.exists(os.path.dirname(os.path.normpath(args.translateOut))): + os.makedirs(os.path.dirname(os.path.normpath(args.translateOut))) + newTable.writeTable(args.translateOut) + graph = {} for k, v in nameMap.items(): graph[k] = set(v.getBuildInputs("ALL")) @@ -271,4 +498,21 @@ if __name__ == "__main__": sortedSpecs = toposort.toposort_flatten(graph) sortedSpecs = filter( lambda x: x in nameMap.keys(), sortedSpecs) - print '\n\n'.join(map(lambda x: x.pkgCall, map(lambda x: nameMap[x], sortedSpecs))) + allPackagesFile = open(os.path.normpath( args.allPackages ), 'w') + allPackagesFile.write( '\n\n'.join(map(lambda x: x.callPackage(), map(lambda x: nameMap[x], sortedSpecs))) ) + allPackagesFile.close() + + if args.buildRoot != None: + buildRootFilename = os.path.normpath( args.buildRoot ) + if not os.path.exists(os.path.dirname(buildRootFilename)): + os.makedirs(os.path.dirname(buildRootFilename)) + buildRootFile = open(buildRootFilename, 'w') + buildRootFile.write( "{ fetchurl, buildRoot }: {\n\n" ) + keys = buildRootContent.keys() + keys.sort() + for k in keys: + buildRootFile.write( buildRootContent[k] + '\n' ) + buildRootFile.write( "}\n" ) + buildRootFile.close() + + From 4150a5eaf746d5fd3039cc91f73ba7040ce5ee60 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Mon, 2 Feb 2015 14:51:38 +0100 Subject: [PATCH 062/248] Add sauce-connect, sauce labs secure tunnel --- .../tools/sauce-connect/default.nix | 40 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 42 insertions(+) create mode 100644 pkgs/development/tools/sauce-connect/default.nix diff --git a/pkgs/development/tools/sauce-connect/default.nix b/pkgs/development/tools/sauce-connect/default.nix new file mode 100644 index 00000000000..e41b45dff68 --- /dev/null +++ b/pkgs/development/tools/sauce-connect/default.nix @@ -0,0 +1,40 @@ +{ stdenv, lib, fetchurl, zlib }: + +with lib; + +stdenv.mkDerivation rec { + name = "sauce-connect-${version}"; + version = "4.3.6"; + + src = fetchurl ( + if stdenv.system == "x86_64-linux" then { + url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz"; + sha1 = "0d7d2dc12766ac137e62a3e4dad3025b590f9782"; + } else { + url = "https://saucelabs.com/downloads/sc-${version}-linux32.tar.gz"; + sha1 = "ee2c3002eae3b29df801a2ac1db77bb5f1c97bcc"; + } + ); + + patchPhase = '' + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "$out/lib:${makeLibraryPath [zlib]}" \ + bin/sc + ''; + + installPhase = '' + mkdir -p $out + cp -r * $out + ''; + + dontStrip = true; + + meta = { + description = "A secure tunneling app for executing tests securely when testing behind firewalls"; + license = "unfree"; + homepage = https://docs.saucelabs.com/reference/sauce-connect/; + maintainers = with maintainers; [offline]; + platforms = with platforms; platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 485689b600d..f4b0d392c7e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4994,6 +4994,8 @@ let saleae-logic = callPackage ../development/tools/misc/saleae-logic { }; + sauce-connect = callPackage ../development/tools/sauce-connect { }; + # couldn't find the source yet seleniumRCBin = callPackage ../development/tools/selenium/remote-control { jre = jdk; From 525a318a0f7696d8ebce2843de80f0feaed9c130 Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Fri, 6 Feb 2015 21:05:43 +0100 Subject: [PATCH 063/248] vimPlugins.YouCompleteMe: name should reflect revision --- pkgs/misc/vim-plugins/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index 3bd90143f1b..ae9a671f70b 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -527,14 +527,15 @@ rec { }; }; - YouCompleteMe = addRtp "${rtpPath}/youcompleteme" (stdenv.mkDerivation { + YouCompleteMe = addRtp "${rtpPath}/youcompleteme" (stdenv.mkDerivation rec { + rev = "035b6ca862da3bba0ab8aad388a485758311a464"; src = fetchgit { + inherit rev; url = "https://github.com/Valloric/YouCompleteMe.git"; - rev = "035b6ca862da3bba0ab8aad388a485758311a464"; sha256 = "9cd8fc8bb9b35e7a164d62fa8e3a1bd3be7e18f4d46c78b5827612f32b9541d5"; }; - name = "vimplugin-youcompleteme-2014-10-06"; + name = "vimplugin-youcompleteme-${rev}"; buildInputs = [ python cmake llvmPackages.clang ]; From 967ad3fbc39ea8d6e9dd37bbb88b38ef6181d87a Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 11:36:17 -0800 Subject: [PATCH 064/248] ceph: 0.91 -> 0.92 --- pkgs/tools/filesystems/ceph/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix index 37879cdaa3f..c701e35c683 100644 --- a/pkgs/tools/filesystems/ceph/default.nix +++ b/pkgs/tools/filesystems/ceph/default.nix @@ -14,12 +14,12 @@ let in stdenv.mkDerivation rec { name="ceph-${version}"; - version="0.91"; + version="0.92"; src = fetchgit { url = "git://github.com/ceph/ceph.git"; rev = "refs/tags/v${version}"; - sha256 = "1vi7nyhxnhml1wvsikxbzjk0rhsj2daaw4iq70mnbmcsrbccpb0s"; + sha256 = "0w5gkl2p4gdq5xppmrx0lnpfbhkird8v2wjx8grw8aja23lw7zcc"; }; patches = [ From f9dcf13b6e435d1738dea4e2fe29d24f0862dc71 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 12:05:11 -0800 Subject: [PATCH 065/248] gtest: Modularize out the source files into a derivation --- pkgs/development/libraries/gtest/default.nix | 19 ++++++++--------- pkgs/development/libraries/gtest/source.nix | 22 ++++++++++++++++++++ 2 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 pkgs/development/libraries/gtest/source.nix diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix index d71c29cbca5..e516e4a475a 100644 --- a/pkgs/development/libraries/gtest/default.nix +++ b/pkgs/development/libraries/gtest/default.nix @@ -1,15 +1,13 @@ -{ stdenv, fetchurl, unzip, cmake}: - +{ stdenv, cmake, callPackage }: +let + source = callPackage ./source.nix { }; +in stdenv.mkDerivation rec { - version = "1.7.0"; - name = "gtest-${version}"; + name = "gtest-${source.version}"; - src = fetchurl { - url = "https://googletest.googlecode.com/files/${name}.zip"; - sha256="03fnw3bizw9bcx7l5qy1vz7185g33d5pxqcb6aqxwlrzv26s2z14"; - }; + src = source; - buildInputs = [ unzip cmake ]; + buildInputs = [ cmake ]; configurePhase = '' mkdir build @@ -31,5 +29,6 @@ stdenv.mkDerivation rec { platforms = platforms.all; maintainers = with maintainers; [ zoomulator ]; }; -} + passthru = { inherit source; }; +} diff --git a/pkgs/development/libraries/gtest/source.nix b/pkgs/development/libraries/gtest/source.nix new file mode 100644 index 00000000000..d8787efdcf2 --- /dev/null +++ b/pkgs/development/libraries/gtest/source.nix @@ -0,0 +1,22 @@ +{ fetchurl, stdenv, unzip, ... }: + +stdenv.mkDerivation rec { + name = "gtest-src-${version}"; + version = "1.7.0"; + + src = fetchurl { + url = "https://googletest.googlecode.com/files/gtest-${version}.zip"; + sha256 = "03fnw3bizw9bcx7l5qy1vz7185g33d5pxqcb6aqxwlrzv26s2z14"; + }; + + buildInputs = [ unzip ]; + + buildCommand = '' + unpackPhase + cd gtest-${version} + mkdir $out + cp -r * $out + ''; + + passthru = { inherit version; }; +} From 673b18fdd72636408dc732fa01675e4c48d260d6 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 12:21:57 -0800 Subject: [PATCH 066/248] protobuf: Support both 2.5 and 2.6 and make 2.6 the default --- pkgs/development/libraries/protobuf/2.5.nix | 9 +++++++++ pkgs/development/libraries/protobuf/2.6.nix | 11 ++++++++++ .../protobuf/{default.nix => generic.nix} | 20 ++++++++++++------- pkgs/top-level/all-packages.nix | 4 +++- 4 files changed, 36 insertions(+), 8 deletions(-) create mode 100644 pkgs/development/libraries/protobuf/2.5.nix create mode 100644 pkgs/development/libraries/protobuf/2.6.nix rename pkgs/development/libraries/protobuf/{default.nix => generic.nix} (65%) diff --git a/pkgs/development/libraries/protobuf/2.5.nix b/pkgs/development/libraries/protobuf/2.5.nix new file mode 100644 index 00000000000..4cc6a68c9f2 --- /dev/null +++ b/pkgs/development/libraries/protobuf/2.5.nix @@ -0,0 +1,9 @@ +{ callPackage, fetchurl, ... } @ args: + +callPackage ./generic.nix (args // rec { + version = "2.5.0"; + src = fetchurl { + url = "http://protobuf.googlecode.com/files/${version}.tar.bz2"; + sha256 = "0xxn9gxhvsgzz2sgmihzf6pf75clr05mqj6218camwrwajpcbgqk"; + }; +}) diff --git a/pkgs/development/libraries/protobuf/2.6.nix b/pkgs/development/libraries/protobuf/2.6.nix new file mode 100644 index 00000000000..72960b0dd6a --- /dev/null +++ b/pkgs/development/libraries/protobuf/2.6.nix @@ -0,0 +1,11 @@ +{ callPackage, fetchFromGitHub, ... } @ args: + +callPackage ./generic.nix (args // rec { + version = "2.6.1"; + src = fetchFromGitHub { + owner = "google"; + repo = "protobuf"; + rev = "v${version}"; + sha256 = "03df8zvx2sry3jz2x4pi3l32qyfqa7w8kj8jdbz30nzy0h7aa070"; + }; +}) diff --git a/pkgs/development/libraries/protobuf/default.nix b/pkgs/development/libraries/protobuf/generic.nix similarity index 65% rename from pkgs/development/libraries/protobuf/default.nix rename to pkgs/development/libraries/protobuf/generic.nix index bba8481780a..003ea703517 100644 --- a/pkgs/development/libraries/protobuf/default.nix +++ b/pkgs/development/libraries/protobuf/generic.nix @@ -1,14 +1,20 @@ -{ fetchurl, stdenv, zlib }: +{ stdenv, version, src +, autoreconfHook, zlib, gtest +, ... +}: stdenv.mkDerivation rec { - name = "protobuf-2.5.0"; + name = "protobuf-${version}"; - src = fetchurl { - url = "http://protobuf.googlecode.com/files/${name}.tar.bz2"; - sha256 = "0xxn9gxhvsgzz2sgmihzf6pf75clr05mqj6218camwrwajpcbgqk"; - }; + inherit src; - buildInputs = [ zlib ]; + postPatch = '' + rm -rf gtest + cp -r ${gtest.source} gtest + chmod -R a+w gtest + ''; + + buildInputs = [ autoreconfHook zlib ]; doCheck = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f4b0d392c7e..2fde2b6ff90 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6963,7 +6963,9 @@ let postgis = callPackage ../development/libraries/postgis { }; - protobuf = callPackage ../development/libraries/protobuf { }; + protobuf = protobuf2_6; + protobuf2_6 = callPackage ../development/libraries/protobuf/2.6.nix { }; + protobuf2_5 = callPackage ../development/libraries/protobuf/2.5.nix { }; protobufc = callPackage ../development/libraries/protobufc { }; From 9f0a6d6d7f0bf139b8d208be587f3be60d863dfc Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 12:28:33 -0800 Subject: [PATCH 067/248] protobufc: Add version 1.1.0 as the default --- pkgs/development/libraries/protobufc/1.0.nix | 11 +++++++++++ pkgs/development/libraries/protobufc/1.1.nix | 11 +++++++++++ .../protobufc/{default.nix => generic.nix} | 13 +++++-------- pkgs/top-level/all-packages.nix | 4 +++- 4 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 pkgs/development/libraries/protobufc/1.0.nix create mode 100644 pkgs/development/libraries/protobufc/1.1.nix rename pkgs/development/libraries/protobufc/{default.nix => generic.nix} (59%) diff --git a/pkgs/development/libraries/protobufc/1.0.nix b/pkgs/development/libraries/protobufc/1.0.nix new file mode 100644 index 00000000000..d64ea5790c6 --- /dev/null +++ b/pkgs/development/libraries/protobufc/1.0.nix @@ -0,0 +1,11 @@ +{ callPackage, fetchFromGitHub, ... } @ args: + +callPackage ./generic.nix (args // rec { + version = "1.0.2"; + src = fetchFromGitHub { + owner = "protobuf-c"; + repo = "protobuf-c"; + rev = "v${version}"; + sha256 = "1harabw7qdgcmh098664xkcv8bkyach6i35sisc40yhvagr3fzsz"; + }; +}) diff --git a/pkgs/development/libraries/protobufc/1.1.nix b/pkgs/development/libraries/protobufc/1.1.nix new file mode 100644 index 00000000000..228225b721d --- /dev/null +++ b/pkgs/development/libraries/protobufc/1.1.nix @@ -0,0 +1,11 @@ +{ callPackage, fetchFromGitHub, ... } @ args: + +callPackage ./generic.nix (args // rec { + version = "1.1.0"; + src = fetchFromGitHub { + owner = "protobuf-c"; + repo = "protobuf-c"; + rev = "v${version}"; + sha256 = "11j9vg55a732v14cki4721ipr942c4krr562gliqmnlwvyz0hlyb"; + }; +}) diff --git a/pkgs/development/libraries/protobufc/default.nix b/pkgs/development/libraries/protobufc/generic.nix similarity index 59% rename from pkgs/development/libraries/protobufc/default.nix rename to pkgs/development/libraries/protobufc/generic.nix index 4d2c1d4349f..3a03d5c8b4b 100644 --- a/pkgs/development/libraries/protobufc/default.nix +++ b/pkgs/development/libraries/protobufc/generic.nix @@ -1,15 +1,12 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, protobuf, zlib }: +{ stdenv, src, version +, autoreconfHook, pkgconfig, protobuf, zlib +, ... +}: stdenv.mkDerivation rec { name = "protobuf-c-${version}"; - version = "1.0.2"; - src = fetchFromGitHub { - owner = "protobuf-c"; - repo = "protobuf-c"; - rev = "v${version}"; - sha256 = "1harabw7qdgcmh098664xkcv8bkyach6i35sisc40yhvagr3fzsz"; - }; + inherit src; buildInputs = [ autoreconfHook pkgconfig protobuf zlib ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2fde2b6ff90..7f5f45233e6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6967,7 +6967,9 @@ let protobuf2_6 = callPackage ../development/libraries/protobuf/2.6.nix { }; protobuf2_5 = callPackage ../development/libraries/protobuf/2.5.nix { }; - protobufc = callPackage ../development/libraries/protobufc { }; + protobufc = protobufc1_1; + protobufc1_1 = callPackage ../development/libraries/protobufc/1.1.nix { }; + protobufc1_0 = callPackage ../development/libraries/protobufc/1.0.nix { }; pth = callPackage ../development/libraries/pth { }; From 170775a834f4f687f7d3c33a85be4864058c98b3 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 12:29:02 -0800 Subject: [PATCH 068/248] libinput: 0.7.0 -> 0.10.0 --- pkgs/development/libraries/libinput/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index d7fab5ecac7..52b88244fd9 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, mtdev, udev, libevdev }: stdenv.mkDerivation rec { - name = "libinput-0.7.0"; + name = "libinput-0.10.0"; src = fetchurl { url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz"; - sha256 = "17jps5iz8kvhbgbd0h436grzb6fbjwf9k4qjcja96jjyzrd4i7qj"; + sha256 = "0h8lbhhxb5020bhdblxp1pkapy4bchjj3l44fxabz9pi1zw03q2c"; }; buildInputs = [ pkgconfig mtdev udev libevdev ]; From a1f6084fc8142623f109f788b68df8384748d75c Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 12:51:39 -0800 Subject: [PATCH 069/248] libu2f-host: 0.0.2 -> 0.0.4 --- pkgs/development/libraries/libu2f-host/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libu2f-host/default.nix b/pkgs/development/libraries/libu2f-host/default.nix index f41e2aeec28..f996216826a 100644 --- a/pkgs/development/libraries/libu2f-host/default.nix +++ b/pkgs/development/libraries/libu2f-host/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, json_c, hidapi }: stdenv.mkDerivation rec { - name = "libu2f-host-0.0.2"; + name = "libu2f-host-0.0.4"; src = fetchurl { url = "https://developers.yubico.com/libu2f-host/Releases/${name}.tar.xz"; - sha256 = "1n6bgb8z7dzyvaqh60gn7p4ih2rbymzflrgy79h3170kbn7lgrf9"; + sha256 = "1mpa4m3vchqa0rm1zw0fgby3yhp35k4y6jlqdd02difm3dhk28l5"; }; buildInputs = [ pkgconfig json_c hidapi ]; From e5900a2f1035af708a314d03b31d92fdc1399ab0 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 12:51:53 -0800 Subject: [PATCH 070/248] iproute: 3.17.0 -> 3.18.0 --- pkgs/os-specific/linux/iproute/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index d6b3231ec46..6cfde916815 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -1,12 +1,11 @@ -{ fetchgit, stdenv, flex, bison, db, iptables, pkgconfig }: +{ fetchurl, stdenv, flex, bison, db, iptables, pkgconfig }: stdenv.mkDerivation rec { - name = "iproute2-3.17.0"; + name = "iproute2-3.18.0"; - src = fetchgit { - url = "git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"; - rev = "refs/tags/v3.17.0"; - sha256 = "113ayyy7cjxn0bf67fh4is4z0jysgif016kv7ig0jp6r68xp2spa"; + src = fetchurl { + url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz"; + sha256 = "1pzipx6m27rv42b76isik5amziijb88lj5kxvyqlj1xx98aq58fm"; }; patch = [ ./vpnc.patch ]; From 912148379210b55b38f026c1e6479480f1c792f2 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 12:52:17 -0800 Subject: [PATCH 071/248] mongodb: 2.6.6 -> 2.6.7 --- pkgs/servers/nosql/mongodb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix index 62ea55d00c1..d307915d2f5 100644 --- a/pkgs/servers/nosql/mongodb/default.nix +++ b/pkgs/servers/nosql/mongodb/default.nix @@ -3,7 +3,7 @@ with stdenv.lib; -let version = "2.6.6"; +let version = "2.6.7"; system-libraries = [ "pcre" "boost" @@ -28,7 +28,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz"; - sha256 = "0shb069xsqyslazdq66smr7ifppvdclbzpdjhrj2y3qb78y70pbm"; + sha256 = "1jbbvpp9xisxm7rpx8mm25413b01rrssqcl03349rwgamp8m88ji"; }; nativeBuildInputs = [ scons ]; From 10390a17e497216b75b6a06be294cb01dd3345fe Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 12:52:32 -0800 Subject: [PATCH 072/248] btrfs-progs: 3.18.0 -> 3.18.2 --- pkgs/tools/filesystems/btrfsprogs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix index d87c86ecf18..ba2c9eeb34d 100644 --- a/pkgs/tools/filesystems/btrfsprogs/default.nix +++ b/pkgs/tools/filesystems/btrfsprogs/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, attr, acl, zlib, libuuid, e2fsprogs, lzo , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt }: -let version = "3.18"; in +let version = "3.18.2"; in stdenv.mkDerivation rec { name = "btrfs-progs-${version}"; src = fetchurl { url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz"; - sha256 = "0k84c6gxgy5sq8m57nfjd864s5hps3fh7zgyiykiqik65l5sp97r"; + sha256 = "1v6zqac6c4xfkyd53wc3cfqqyb5w7zry3l2yl4rgspqy416xp3fx"; }; buildInputs = [ From 1e15b889864e4e1e4dda4a835ec42186fde24c35 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 12:52:46 -0800 Subject: [PATCH 073/248] iperf: 3.0.10 -> 3.0.11 --- pkgs/tools/networking/iperf/3.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/iperf/3.nix b/pkgs/tools/networking/iperf/3.nix index 7f738ea8d38..0efc789a0b2 100644 --- a/pkgs/tools/networking/iperf/3.nix +++ b/pkgs/tools/networking/iperf/3.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "iperf-3.0.10"; + name = "iperf-3.0.11"; src = fetchurl { url = "http://downloads.es.net/pub/iperf/${name}.tar.gz"; - sha256 = "17856cp4c6z4hh9jh3bvz2q2yfwhi1ybwf6mnaq822fgcwll84x1"; + sha256 = "0vkzx7yxhah49l83jb5r3y4zzfdqypj5y2b3fjc7rxj7dyzba7g0"; }; postInstall = '' From 48348808941d560201f0be157c23961bb6a9bb41 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 12:52:56 -0800 Subject: [PATCH 074/248] radvd: 2.9 -> 2.10 --- pkgs/tools/networking/radvd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/radvd/default.nix b/pkgs/tools/networking/radvd/default.nix index 7d2e3b78748..110fec50a6b 100644 --- a/pkgs/tools/networking/radvd/default.nix +++ b/pkgs/tools/networking/radvd/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libdaemon, bison, flex, check }: stdenv.mkDerivation rec { - name = "radvd-2.9"; + name = "radvd-2.10"; src = fetchurl { url = "http://www.litech.org/radvd/dist/${name}.tar.xz"; - sha256 = "1f5sbfh1va02nlrp5jx8zshyjqpz07ga15jx9kqphqzwlwxsspjj"; + sha256 = "0wwpzdkk6lpsai11iwsrwiblmf9x19rds0wdqcnf82hj0j1yxkkn"; }; buildInputs = [ pkgconfig libdaemon bison flex check ]; From 760699aea95c2fea8d46996b4fda9ed8e9f818bb Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 12:59:38 -0800 Subject: [PATCH 075/248] mariadb: 10.0.15 -> 10.0.16 --- pkgs/servers/sql/mariadb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 3c36b1aad6b..6280f2a8266 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "mariadb-${version}"; - version = "10.0.15"; + version = "10.0.16"; src = fetchurl { url = "https://downloads.mariadb.org/interstitial/mariadb-${version}/source/mariadb-${version}.tar.gz"; - sha256 = "1n09553brmprs9m6siwjc1ca4b9b1giqasv3mhdrnijda1lcnm4i"; + sha256 = "1r6dxzgzwl0qshw67168sjnzzwspmwb7kl618f23wkhp7rgll4s4"; }; buildInputs = [ cmake ncurses openssl bison boost libxml2 judy libevent groff ] From b65209849abd80a654cecce0b683dc22c6202c14 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 13:00:40 -0800 Subject: [PATCH 076/248] bareos: 14.2.2 -> 14.2.3 --- pkgs/tools/backup/bareos/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/backup/bareos/default.nix b/pkgs/tools/backup/bareos/default.nix index 87c04954f6b..fa492835e05 100644 --- a/pkgs/tools/backup/bareos/default.nix +++ b/pkgs/tools/backup/bareos/default.nix @@ -9,14 +9,14 @@ assert sqlite != null || postgresql != null || mysql != null; with stdenv.lib; stdenv.mkDerivation rec { name = "bareos-${version}"; - version = "14.2.2"; + version = "14.2.3"; src = fetchFromGitHub { owner = "bareos"; repo = "bareos"; rev = "Release/${version}"; name = "${name}-src"; - sha256 = "12605jibvj6kdp15s8jpzb9fw1mfm53npf8ib2jfn1r4hvhdrl4j"; + sha256 = "04z6nwlnk6kk5ghbdw5g34mkypmpk4qpkd08cjxwblg8sdj4j8fl"; }; buildInputs = [ From c6749d030648a4a809176df13345ccaa1fa2a50c Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 13:13:49 -0800 Subject: [PATCH 077/248] umurmur: 0.2.13 -> 0.2.15 --- pkgs/applications/networking/umurmur/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/umurmur/default.nix b/pkgs/applications/networking/umurmur/default.nix index 2e196cdf8cf..ce59d15849b 100644 --- a/pkgs/applications/networking/umurmur/default.nix +++ b/pkgs/applications/networking/umurmur/default.nix @@ -1,14 +1,17 @@ -{ stdenv, fetchurl, openssl, protobufc, libconfig }: +{ stdenv, fetchFromGitHub, autoreconfHook, openssl, protobufc, libconfig }: stdenv.mkDerivation rec { - name = "umurmur-0.2.13"; + name = "umurmur-${version}"; + version = "0.2.15"; - src = fetchurl { - url = "http://umurmur.googlecode.com/files/${name}.tar.gz"; - sha1 = "c9345b67213f52688fef2113132c62d2edbf4bea"; + src = fetchFromGitHub { + owner = "fatbob313"; + repo = "umurmur"; + rev = version; + sha256 = "0q0apnnb3pszhpsbadw52k6mhdc0hk38rk7vnn7dl4fsisfhgmx2"; }; - buildInputs = [ openssl protobufc libconfig ]; + buildInputs = [ autoreconfHook openssl protobufc libconfig ]; configureFlags = "--with-ssl=openssl"; From 67f28ac1a997aef17aa2a13605a32bd9fee3a641 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 13:15:23 -0800 Subject: [PATCH 078/248] umurmur: Add meta platforms --- pkgs/applications/networking/umurmur/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/networking/umurmur/default.nix b/pkgs/applications/networking/umurmur/default.nix index ce59d15849b..7e7d58c9a32 100644 --- a/pkgs/applications/networking/umurmur/default.nix +++ b/pkgs/applications/networking/umurmur/default.nix @@ -19,5 +19,6 @@ stdenv.mkDerivation rec { description = "Minimalistic Murmur (Mumble server)"; license = licenses.bsd3; homepage = http://code.google.com/p/umurmur/; + platforms = platforms.all; }; } From 9792b12e5355a3f2b11e579fce27a2b97646c468 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 14:45:41 -0800 Subject: [PATCH 079/248] nixos/openntpd: Don't start until we have networking This attempts to fix an issues where ntp is unable to resolve hostnames because it came up before local nameservers or networking. --- nixos/modules/services/networking/openntpd.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/services/networking/openntpd.nix b/nixos/modules/services/networking/openntpd.nix index ef525088898..e53fc574fbe 100644 --- a/nixos/modules/services/networking/openntpd.nix +++ b/nixos/modules/services/networking/openntpd.nix @@ -64,6 +64,8 @@ in systemd.services.openntpd = { description = "OpenNTP Server"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; + after = [ "dnsmasq.service" "bind.service" "network-online.target" ]; serviceConfig.ExecStart = "${package}/sbin/ntpd -d -f ${cfgFile} ${cfg.extraOptions}"; }; }; From 09fc276a11d608a2f800a4a9ca65ed6ef71be7cf Mon Sep 17 00:00:00 2001 From: Nathaniel Baxter Date: Sat, 7 Feb 2015 11:04:48 +1100 Subject: [PATCH 080/248] flashplayer: Minor security update to 11.2.202.442 --- .../browsers/mozilla-plugins/flashplayer-11/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix index fdc5d62127d..4ae7fca5398 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix @@ -36,7 +36,7 @@ let # -> http://get.adobe.com/flashplayer/ - version = "11.2.202.440"; + version = "11.2.202.442"; src = if stdenv.system == "x86_64-linux" then @@ -47,7 +47,7 @@ let else rec { inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz"; - sha256 = "1sx17b7w3za274r0jxb80qn3m3hvij6faka45say3a60ps8bihc4"; + sha256 = "08ni1mllp98d7wawz35lx8ydymya8nspb90mq29ivbyrkx5aal28"; } else if stdenv.system == "i686-linux" then if debug then @@ -60,7 +60,7 @@ let else rec { inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz"; - sha256 = "1qn8sg1kk61cv7vrwn6l5sb1mmczfcas1b85cq2mzzjg4af7wcf4"; + sha256 = "00728q8jp40llpsfw2n5q9w29isyy3a64xlisjizyh3chb6bkkdm"; } else throw "Flash Player is not supported on this platform"; From e10704335a491b172c4b01a43cfa9b107c1c5bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Wed, 4 Feb 2015 22:23:18 +0100 Subject: [PATCH 081/248] arduino: new package (2nd attempt). Close #6159. [Now without the "stdenv.glibc" reference, which is unavailable on darwin. It seems the dynamic linker finds libc/libm without it being explicitly in RPATH, so we can just drop it.] This commit adds the graphical Arduino IDE, built from the arduino-core expression. Also: - Add libusb to RPATH for avrdude. Without this, avrdude is broken. Possible TODO: replace bundled avrdude with the one from nixpkgs. - Use "cp -r ./build/linux/work/*", so example sketeches, the HTML reference documentation and the 'arduino' shell script that starts the IDE gets included. - Make meta.description slightly more generic, to cover both GUI/core variants. --- .../arduino/arduino-core/default.nix | 25 +++++++++++++------ pkgs/top-level/all-packages.nix | 3 +++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/pkgs/development/arduino/arduino-core/default.nix b/pkgs/development/arduino/arduino-core/default.nix index a5b8980e32c..4a5e255a37b 100644 --- a/pkgs/development/arduino/arduino-core/default.nix +++ b/pkgs/development/arduino/arduino-core/default.nix @@ -1,9 +1,13 @@ -{ stdenv, fetchFromGitHub, jdk, jre, ant, coreutils, gnugrep, file }: +{ stdenv, fetchFromGitHub, jdk, jre, ant, coreutils, gnugrep, file, libusb +, withGui ? false, gtk2 ? null +}: + +assert withGui -> gtk2 != null; stdenv.mkDerivation rec { version = "1.0.6"; - name = "arduino-core"; + name = "arduino${stdenv.lib.optionalString (withGui == false) "-core"}"; src = fetchFromGitHub { owner = "arduino"; @@ -22,12 +26,16 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/share/arduino - cp -r ./build/linux/work/hardware/ $out/share/arduino - cp -r ./build/linux/work/libraries/ $out/share/arduino - cp -r ./build/linux/work/tools/ $out/share/arduino - cp -r ./build/linux/work/lib/ $out/share/arduino + cp -r ./build/linux/work/* "$out/share/arduino/" echo ${version} > $out/share/arduino/lib/version.txt + ${stdenv.lib.optionalString withGui '' + mkdir -p "$out/bin" + sed -i -e "s|^java|${jdk}/bin/java|" "$out/share/arduino/arduino" + sed -i -e "s|^LD_LIBRARY_PATH=|LD_LIBRARY_PATH=${gtk2}/lib:|" "$out/share/arduino/arduino" + ln -sr "$out/share/arduino/arduino" "$out/bin/arduino" + ''} + # Fixup "/lib64/ld-linux-x86-64.so.2" like references in ELF executables. echo "running patchelf on prebuilt binaries:" find "$out" | while read filepath; do @@ -41,10 +49,13 @@ stdenv.mkDerivation rec { test $? -eq 0 || { echo "patchelf failed to process $filepath"; exit 1; } fi done + + patchelf --set-rpath ${stdenv.lib.makeSearchPath "lib" [ libusb ]} \ + "$out/share/arduino/hardware/tools/avrdude" ''; meta = { - description = "Libraries for the open-source electronics prototyping platform"; + description = "Open-source electronics prototyping platform"; homepage = http://arduino.cc/; license = stdenv.lib.licenses.gpl2; maintainers = [ stdenv.lib.maintainers.antono stdenv.lib.maintainers.robberer ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7f5f45233e6..c1f8ff82253 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -507,9 +507,12 @@ let arcanist = callPackage ../development/tools/misc/arcanist {}; + arduino = arduino-core.override { withGui = true; }; + arduino-core = callPackage ../development/arduino/arduino-core { jdk = jdk; jre = jdk; + withGui = false; }; apitrace = callPackage ../applications/graphics/apitrace {}; From 098ed10f3902ff2f4050f4d5010bfd4008665fa2 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 22:25:31 -0800 Subject: [PATCH 082/248] v8: 3.26.31.15 -> 3.31.1 --- pkgs/development/libraries/v8/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix index 7eded3e4c5f..284afcf1223 100644 --- a/pkgs/development/libraries/v8/default.nix +++ b/pkgs/development/libraries/v8/default.nix @@ -8,12 +8,12 @@ in stdenv.mkDerivation rec { name = "v8-${version}"; - version = "3.26.31.15"; + version = "3.31.1"; src = fetchurl { url = "https://commondatastorage.googleapis.com/chromium-browser-official/" + "${name}.tar.bz2"; - sha256 = "067pk6hr7wjx7yxhla5la0rnv51kf7837kfydzydjwapsbcx6m8l"; + sha256 = "07xfdf12s6whggm6gak23sn4kc5bvmrdiqz9cx4d9h21y255svmi"; }; patchPhase = '' From 346c8d7a989c19d4186aa5b7c8e685cd0807f5d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 7 Feb 2015 07:30:05 +0100 Subject: [PATCH 083/248] xdg-utils: update from git to fix CVE-2014-9622 Fixes #6193. Disabling docs generation might be another alternative to the build-time dependency blowup. That KDE patch no longer applies, but the code seems to take KDE5 into account already. CC @ttuegel. --- ...g-open-recognize-KDE_SESSION_VERSION.patch | 25 ------------------- pkgs/tools/X11/xdg-utils/default.nix | 15 ++++++----- 2 files changed, 9 insertions(+), 31 deletions(-) delete mode 100644 pkgs/tools/X11/xdg-utils/0001-xdg-open-recognize-KDE_SESSION_VERSION.patch diff --git a/pkgs/tools/X11/xdg-utils/0001-xdg-open-recognize-KDE_SESSION_VERSION.patch b/pkgs/tools/X11/xdg-utils/0001-xdg-open-recognize-KDE_SESSION_VERSION.patch deleted file mode 100644 index e7dcf291867..00000000000 --- a/pkgs/tools/X11/xdg-utils/0001-xdg-open-recognize-KDE_SESSION_VERSION.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2059662f6bd5de59144d6825d93cb5783110cd97 Mon Sep 17 00:00:00 2001 -From: Thomas Tuegel -Date: Sat, 24 Jan 2015 17:07:50 -0600 -Subject: [PATCH] xdg-open: recognize KDE_SESSION_VERSION - ---- - scripts/xdg-open | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/scripts/xdg-open b/scripts/xdg-open -index b8db0aa..9fcf458 100755 ---- a/scripts/xdg-open -+++ b/scripts/xdg-open -@@ -341,7 +341,7 @@ open_kde() - if kde-open -v 2>/dev/null 1>&2; then - kde-open "$1" - else -- if [ x"$KDE_SESSION_VERSION" = x"4" ]; then -+ if [ $KDE_SESSION_VERSION -gt 3 ]; then - kfmclient openURL "$1" - else - kfmclient exec "$1" --- -2.1.4 - diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix index 3e4615609e0..8434e651dbe 100644 --- a/pkgs/tools/X11/xdg-utils/default.nix +++ b/pkgs/tools/X11/xdg-utils/default.nix @@ -1,14 +1,16 @@ -{ stdenv, fetchurl, file }: +{ stdenv, fetchgit, file, libxslt, docbook_xml_dtd_412, docbook_xsl, xmlto, w3m }: stdenv.mkDerivation rec { - name = "xdg-utils-1.1.0-rc1"; + name = "xdg-utils-1.1.0-rc3p7"; - src = fetchurl { - url = "http://portland.freedesktop.org/download/${name}.tar.gz"; - sha256 = "00lisw4x43sp189lb7dz46j2l09y5v2fijk3d0sxx3mvwj55a1bv"; + src = fetchgit { + url = "git://anongit.freedesktop.org/xdg/xdg-utils"; + rev = "e8ee3b18d16e41b95148111b920a0c8beed3ac6c"; + sha256 = "0qy9h7vh6sw7wmadjvasw4sdhb9fvv7bn32ifgasdx7ag3r3939w"; }; - patches = [ ./0001-xdg-open-recognize-KDE_SESSION_VERSION.patch ]; + # just needed when built from git + buildInputs = [ libxslt docbook_xml_dtd_412 docbook_xsl xmlto w3m ]; postInstall = '' substituteInPlace $out/bin/xdg-mime --replace /usr/bin/file ${file}/bin/file @@ -22,3 +24,4 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.linux; }; } + From 1570cb501c116fbf9438a0d07c127db1c3c421e3 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 6 Feb 2015 22:52:08 -0800 Subject: [PATCH 084/248] v8: Properly update to 4.1.0.15 --- pkgs/development/libraries/v8/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix index 284afcf1223..ce0b599c9e9 100644 --- a/pkgs/development/libraries/v8/default.nix +++ b/pkgs/development/libraries/v8/default.nix @@ -8,12 +8,12 @@ in stdenv.mkDerivation rec { name = "v8-${version}"; - version = "3.31.1"; + version = "4.1.0.15"; src = fetchurl { url = "https://commondatastorage.googleapis.com/chromium-browser-official/" + "${name}.tar.bz2"; - sha256 = "07xfdf12s6whggm6gak23sn4kc5bvmrdiqz9cx4d9h21y255svmi"; + sha256 = "0ac6kkcjfsbs19i3m1asjx1c040qknj4n31wrjb6nz7mjsdmwg72"; }; patchPhase = '' From c6c1aa11f88a3969eb1dbb4704a576a284b14bbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 7 Feb 2015 10:37:54 +0100 Subject: [PATCH 085/248] update jack2 to version 1.9.10 Copied from 8bae32afb58b2bd21, without the tags file --- pkgs/misc/jackaudio/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix index 4f9f071094b..9152e8a7202 100644 --- a/pkgs/misc/jackaudio/default.nix +++ b/pkgs/misc/jackaudio/default.nix @@ -6,13 +6,13 @@ assert firewireSupport -> ffado != null; stdenv.mkDerivation rec { name = "jack2-${version}"; - version = "1.9.9.5"; + version = "1.9.10"; src = fetchurl { urls = [ - https://dl.dropbox.com/u/28869550/jack-1.9.9.5.tar.bz2 + https://github.com/jackaudio/jack2/archive/v1.9.10.tar.gz ]; - sha256 = "1ggba69jsfg7dmjzlyqz58y2wa92lm3vwdy4r15bs7mvxb65mvv5"; + sha256 = "03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8"; }; buildInputs = From daec5d6f25c39ce9918e5b2d303d34580c665f41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sat, 7 Feb 2015 10:29:31 +0100 Subject: [PATCH 086/248] arduino: set meta.platforms and add myself as maintainer --- pkgs/development/arduino/arduino-core/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/arduino/arduino-core/default.nix b/pkgs/development/arduino/arduino-core/default.nix index 4a5e255a37b..a751076537a 100644 --- a/pkgs/development/arduino/arduino-core/default.nix +++ b/pkgs/development/arduino/arduino-core/default.nix @@ -54,10 +54,11 @@ stdenv.mkDerivation rec { "$out/share/arduino/hardware/tools/avrdude" ''; - meta = { + meta = with stdenv.lib; { description = "Open-source electronics prototyping platform"; homepage = http://arduino.cc/; license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.antono stdenv.lib.maintainers.robberer ]; + platforms = platforms.all; + maintainers = with maintainers; [ antono robberer bjornfor ]; }; } From 24c91295c1f367bfd5df5d83dc41d0af3a02f543 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sat, 7 Feb 2015 12:46:08 +0100 Subject: [PATCH 087/248] instead: update from 2.2.1 to 2.2.2 --- pkgs/games/instead/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/instead/default.nix b/pkgs/games/instead/default.nix index a210851c4d1..8f9c6461fd8 100644 --- a/pkgs/games/instead/default.nix +++ b/pkgs/games/instead/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, SDL, SDL_ttf, SDL_image, SDL_mixer, pkgconfig, lua, zlib, unzip }: let - version = "2.2.1"; + version = "2.2.2"; # I took several games at random from http://instead.syscall.ru/games/ games = [ @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://downloads.sourceforge.net/project/instead/instead/${version}/instead_${version}.tar.gz"; - sha256 = "1ml9dd2wmhazlxw05994h3wqynyfls0wzajg533f5kybvl0xaks5"; + sha256 = "14aln69vvr7frsbjdfmzgf0rd45zf247xbfsnhx3hlfsqlj58wd3"; }; NIX_LDFLAGS = "-llua -lgcc_s"; From f80828c9370c6dfd442f7101152175130d8c7cb9 Mon Sep 17 00:00:00 2001 From: Alexei Boronine Date: Sat, 7 Feb 2015 13:08:24 +0100 Subject: [PATCH 088/248] idea: change source URLs to "nicer" ones (close #6211) --- pkgs/applications/editors/idea/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index 734f88722a5..fffd51cc815 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -232,7 +232,7 @@ in description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { - url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz"; + url = "http://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; sha256 = "01wcpzdahkh3li2l3k2bgirnlp7hdxk9y1kyrxc3d9d1nazq8wqn"; }; }; @@ -244,7 +244,7 @@ in description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; license = stdenv.lib.licenses.unfree; src = fetchurl { - url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz"; + url = "http://download.jetbrains.com/idea/ideaIU-${version}.tar.gz"; sha256 = "1zkqigdh9l1f3mjjvxsp7b7vc93v5ylvxa1dfpclzmfbzna7h69s"; }; }; From b65e6e873f90b9febb85f5a97b0cc2ed8798304a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Sat, 7 Feb 2015 13:20:03 +0100 Subject: [PATCH 089/248] ideas: use secure transport --- pkgs/applications/editors/idea/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index fffd51cc815..083a4a0b9b9 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -220,7 +220,7 @@ in description = "C/C++ IDE. New. Intelligent. Cross-platform."; license = stdenv.lib.licenses.unfree; src = fetchurl { - url = "http://download.jetbrains.com/cpp/${name}-${build}.tar.gz"; + url = "https://download.jetbrains.com/cpp/${name}-${build}.tar.gz"; sha256 = "1hpsq37hq61id836wg5j6l3xapln6qdkqa10r3ig2p1rs2hq7i9y"; }; }; @@ -232,7 +232,7 @@ in description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { - url = "http://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; + url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; sha256 = "01wcpzdahkh3li2l3k2bgirnlp7hdxk9y1kyrxc3d9d1nazq8wqn"; }; }; @@ -244,7 +244,7 @@ in description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; license = stdenv.lib.licenses.unfree; src = fetchurl { - url = "http://download.jetbrains.com/idea/ideaIU-${version}.tar.gz"; + url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz"; sha256 = "1zkqigdh9l1f3mjjvxsp7b7vc93v5ylvxa1dfpclzmfbzna7h69s"; }; }; @@ -256,7 +256,7 @@ in description = "The Most Intelligent Ruby and Rails IDE"; license = stdenv.lib.licenses.unfree; src = fetchurl { - url = "http://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; + url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; sha256 = "0xsx44gaddarkw5k4yjidzwkayf2xvsxklfzdnzcck4rg4vyk4v4"; }; }; @@ -268,7 +268,7 @@ in description = "PyCharm 4.0 Community Edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { - url = "http://download.jetbrains.com/python/${name}.tar.gz"; + url = "https://download.jetbrains.com/python/${name}.tar.gz"; sha256 = "0jh0sxi5dpgpw7ga018fby7zvb4i9k49vwl8422lfcrgckdz9nv2"; }; }; @@ -280,7 +280,7 @@ in description = "PyCharm 4.0 Professional Edition"; license = stdenv.lib.licenses.unfree; src = fetchurl { - url = "http://download.jetbrains.com/python/${name}.tar.gz"; + url = "https://download.jetbrains.com/python/${name}.tar.gz"; sha256 = "04yjhg6vi2kz00sy8zg4wkz26ai90vbp0cnd850ynsab0jsy24w4"; }; }; @@ -292,7 +292,7 @@ in description = "Professional IDE for Web and PHP developers"; license = stdenv.lib.licenses.unfree; src = fetchurl { - url = "http://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz"; + url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz"; sha256 = "01b8vx6swi71sd0rc7i1jnicilqp11ch3zrm8gwb6xh1pmmpdirf"; }; }; From ec61d946ebe927212b90325c7653f244e62ecfd8 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Sat, 7 Feb 2015 13:24:48 +0100 Subject: [PATCH 090/248] Update svtplay-dl to 0.10.2015.01.28. --- pkgs/tools/misc/svtplay-dl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix index 095e8a31734..d85da36f7ee 100644 --- a/pkgs/tools/misc/svtplay-dl/default.nix +++ b/pkgs/tools/misc/svtplay-dl/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "svtplay-dl-${version}"; - version = "0.10.2015.01.05"; + version = "0.10.2015.01.28"; src = fetchurl { url = "https://github.com/spaam/svtplay-dl/archive/${version}.tar.gz"; - sha256 = "0b83yks8cw4yci4zjpc6dazh5hh33n88jygpj7a7mi14plf6xamc"; + sha256 = "0hjqhb4s0qpw2l7azcqmckbdc4mcvczp0w1dfk125n01z0w9c20c"; }; pythonPaths = [ pycrypto ]; From fa56e5ffa78fde8724b661172bc4bbad049fa21c Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sat, 7 Feb 2015 07:30:18 -0600 Subject: [PATCH 091/248] qt5: move monolithic build --- .../libraries/qt-5/{ => 5.3}/0001-dlopen-gtkstyle.patch | 0 .../libraries/qt-5/{ => 5.3}/0002-dlopen-webkit-nsplugin.patch | 0 pkgs/development/libraries/qt-5/{ => 5.3}/0003-glib-2.32.patch | 0 .../libraries/qt-5/{ => 5.3}/0004-dlopen-resolv.patch | 0 pkgs/development/libraries/qt-5/{ => 5.3}/0005-dlopen-gl.patch | 0 pkgs/development/libraries/qt-5/{ => 5.3}/0006-tzdir.patch | 0 .../libraries/qt-5/{ => 5.3}/0007-dlopen-webkit-gtk.patch | 0 .../libraries/qt-5/{ => 5.3}/0008-dlopen-webkit-udev.patch | 0 .../libraries/qt-5/{ => 5.3}/0009-dlopen-serialport-udev.patch | 0 .../libraries/qt-5/{ => 5.3}/0010-dlopen-libXcursor.patch | 0 .../libraries/qt-5/{ => 5.3}/0011-dlopen-openssl.patch | 0 .../development/libraries/qt-5/{ => 5.3}/0012-dlopen-dbus.patch | 0 pkgs/development/libraries/qt-5/{ => 5.3}/default.nix | 0 pkgs/top-level/all-packages.nix | 2 +- 14 files changed, 1 insertion(+), 1 deletion(-) rename pkgs/development/libraries/qt-5/{ => 5.3}/0001-dlopen-gtkstyle.patch (100%) rename pkgs/development/libraries/qt-5/{ => 5.3}/0002-dlopen-webkit-nsplugin.patch (100%) rename pkgs/development/libraries/qt-5/{ => 5.3}/0003-glib-2.32.patch (100%) rename pkgs/development/libraries/qt-5/{ => 5.3}/0004-dlopen-resolv.patch (100%) rename pkgs/development/libraries/qt-5/{ => 5.3}/0005-dlopen-gl.patch (100%) rename pkgs/development/libraries/qt-5/{ => 5.3}/0006-tzdir.patch (100%) rename pkgs/development/libraries/qt-5/{ => 5.3}/0007-dlopen-webkit-gtk.patch (100%) rename pkgs/development/libraries/qt-5/{ => 5.3}/0008-dlopen-webkit-udev.patch (100%) rename pkgs/development/libraries/qt-5/{ => 5.3}/0009-dlopen-serialport-udev.patch (100%) rename pkgs/development/libraries/qt-5/{ => 5.3}/0010-dlopen-libXcursor.patch (100%) rename pkgs/development/libraries/qt-5/{ => 5.3}/0011-dlopen-openssl.patch (100%) rename pkgs/development/libraries/qt-5/{ => 5.3}/0012-dlopen-dbus.patch (100%) rename pkgs/development/libraries/qt-5/{ => 5.3}/default.nix (100%) diff --git a/pkgs/development/libraries/qt-5/0001-dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/5.3/0001-dlopen-gtkstyle.patch similarity index 100% rename from pkgs/development/libraries/qt-5/0001-dlopen-gtkstyle.patch rename to pkgs/development/libraries/qt-5/5.3/0001-dlopen-gtkstyle.patch diff --git a/pkgs/development/libraries/qt-5/0002-dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/5.3/0002-dlopen-webkit-nsplugin.patch similarity index 100% rename from pkgs/development/libraries/qt-5/0002-dlopen-webkit-nsplugin.patch rename to pkgs/development/libraries/qt-5/5.3/0002-dlopen-webkit-nsplugin.patch diff --git a/pkgs/development/libraries/qt-5/0003-glib-2.32.patch b/pkgs/development/libraries/qt-5/5.3/0003-glib-2.32.patch similarity index 100% rename from pkgs/development/libraries/qt-5/0003-glib-2.32.patch rename to pkgs/development/libraries/qt-5/5.3/0003-glib-2.32.patch diff --git a/pkgs/development/libraries/qt-5/0004-dlopen-resolv.patch b/pkgs/development/libraries/qt-5/5.3/0004-dlopen-resolv.patch similarity index 100% rename from pkgs/development/libraries/qt-5/0004-dlopen-resolv.patch rename to pkgs/development/libraries/qt-5/5.3/0004-dlopen-resolv.patch diff --git a/pkgs/development/libraries/qt-5/0005-dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.3/0005-dlopen-gl.patch similarity index 100% rename from pkgs/development/libraries/qt-5/0005-dlopen-gl.patch rename to pkgs/development/libraries/qt-5/5.3/0005-dlopen-gl.patch diff --git a/pkgs/development/libraries/qt-5/0006-tzdir.patch b/pkgs/development/libraries/qt-5/5.3/0006-tzdir.patch similarity index 100% rename from pkgs/development/libraries/qt-5/0006-tzdir.patch rename to pkgs/development/libraries/qt-5/5.3/0006-tzdir.patch diff --git a/pkgs/development/libraries/qt-5/0007-dlopen-webkit-gtk.patch b/pkgs/development/libraries/qt-5/5.3/0007-dlopen-webkit-gtk.patch similarity index 100% rename from pkgs/development/libraries/qt-5/0007-dlopen-webkit-gtk.patch rename to pkgs/development/libraries/qt-5/5.3/0007-dlopen-webkit-gtk.patch diff --git a/pkgs/development/libraries/qt-5/0008-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/5.3/0008-dlopen-webkit-udev.patch similarity index 100% rename from pkgs/development/libraries/qt-5/0008-dlopen-webkit-udev.patch rename to pkgs/development/libraries/qt-5/5.3/0008-dlopen-webkit-udev.patch diff --git a/pkgs/development/libraries/qt-5/0009-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/5.3/0009-dlopen-serialport-udev.patch similarity index 100% rename from pkgs/development/libraries/qt-5/0009-dlopen-serialport-udev.patch rename to pkgs/development/libraries/qt-5/5.3/0009-dlopen-serialport-udev.patch diff --git a/pkgs/development/libraries/qt-5/0010-dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/5.3/0010-dlopen-libXcursor.patch similarity index 100% rename from pkgs/development/libraries/qt-5/0010-dlopen-libXcursor.patch rename to pkgs/development/libraries/qt-5/5.3/0010-dlopen-libXcursor.patch diff --git a/pkgs/development/libraries/qt-5/0011-dlopen-openssl.patch b/pkgs/development/libraries/qt-5/5.3/0011-dlopen-openssl.patch similarity index 100% rename from pkgs/development/libraries/qt-5/0011-dlopen-openssl.patch rename to pkgs/development/libraries/qt-5/5.3/0011-dlopen-openssl.patch diff --git a/pkgs/development/libraries/qt-5/0012-dlopen-dbus.patch b/pkgs/development/libraries/qt-5/5.3/0012-dlopen-dbus.patch similarity index 100% rename from pkgs/development/libraries/qt-5/0012-dlopen-dbus.patch rename to pkgs/development/libraries/qt-5/5.3/0012-dlopen-dbus.patch diff --git a/pkgs/development/libraries/qt-5/default.nix b/pkgs/development/libraries/qt-5/5.3/default.nix similarity index 100% rename from pkgs/development/libraries/qt-5/default.nix rename to pkgs/development/libraries/qt-5/5.3/default.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c1f8ff82253..5686b9298c7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7022,7 +7022,7 @@ let qtLib = qt48Full; }; - qt5 = callPackage ../development/libraries/qt-5 { + qt5 = callPackage ../development/libraries/qt-5/5.3 { mesa = mesa_noglu; cups = if stdenv.isLinux then cups else null; # GNOME dependencies are not used unless gtkStyle == true From 25ce27b45e219ca8e13e5737a5d5b175ac7548fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Val=C3=A9rian=20Galliat?= Date: Sat, 7 Feb 2015 15:04:35 +0100 Subject: [PATCH 092/248] Patch npm packages to ignore npm requirements Some npm packages strictly require a specific npm version because npm don't handle some version requirements the same way in 1.0 and 2.0. However, Nix don't use npm for dependency resolution (this is always achieved with npm 1.0 criteria by npm2nix), so these requirements turns out to be pointless and just crashes some package installations. This patch removes npm requirements so the packages can still be built. This solves #5787. --- pkgs/development/web/nodejs/build-node-package.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix index af997f19e8d..e385c0d40c4 100644 --- a/pkgs/development/web/nodejs/build-node-package.nix +++ b/pkgs/development/web/nodejs/build-node-package.nix @@ -83,6 +83,9 @@ let # Some version specifiers (latest, unstable, URLs, file paths) force NPM # to make remote connections or consult paths outside the Nix store. # The following JavaScript replaces these by * to prevent that: + # Also some packages require a specific npm version because npm may + # resovle dependencies differently, but npm is not used by Nix for dependency + # reslution, so these requirements are dropped. ( cat < Date: Mon, 8 Dec 2014 10:02:57 +0100 Subject: [PATCH 093/248] panamax: new package and service --- nixos/modules/misc/ids.nix | 3 + nixos/modules/module-list.nix | 1 + nixos/modules/services/cluster/panamax.nix | 122 +++++ .../cluster/panamax/Gemfile-api.nix | 362 +++++++++++++ .../networking/cluster/panamax/Gemfile-ui.nix | 482 ++++++++++++++++++ .../networking/cluster/panamax/api.nix | 139 +++++ .../networking/cluster/panamax/ui.nix | 101 ++++ pkgs/top-level/all-packages.nix | 3 + 8 files changed, 1213 insertions(+) create mode 100644 nixos/modules/services/cluster/panamax.nix create mode 100644 pkgs/applications/networking/cluster/panamax/Gemfile-api.nix create mode 100644 pkgs/applications/networking/cluster/panamax/Gemfile-ui.nix create mode 100644 pkgs/applications/networking/cluster/panamax/api.nix create mode 100644 pkgs/applications/networking/cluster/panamax/ui.nix diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 7415af8ab6a..f3cda7b9541 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -177,6 +177,8 @@ cadvisor = 167; nylon = 168; apache-kafka = 169; + panamax = 170; + # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! nixbld = 30000; # start of range of uids @@ -315,6 +317,7 @@ kubernetes = 162; gitlab = 165; nylon = 166; + panamax = 170; # When adding a gid, make sure it doesn't match an existing # uid. Users and groups with the same name should have equal diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 023a053cf9b..292feb94882 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -104,6 +104,7 @@ ./services/backup/tarsnap.nix ./services/cluster/fleet.nix ./services/cluster/kubernetes.nix + ./services/cluster/panamax.nix ./services/computing/torque/server.nix ./services/computing/torque/mom.nix ./services/continuous-integration/jenkins/default.nix diff --git a/nixos/modules/services/cluster/panamax.nix b/nixos/modules/services/cluster/panamax.nix new file mode 100644 index 00000000000..011a1e3666b --- /dev/null +++ b/nixos/modules/services/cluster/panamax.nix @@ -0,0 +1,122 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.panamax; + + panamax_api = pkgs.panamax_api.override { dataDir = cfg.dataDir+"/api"; }; + panamax_ui = pkgs.panamax_ui.override { dataDir = cfg.dataDir+"/ui"; }; + +in { + + ##### Interface + options.services.panamax = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Panamax service. + ''; + }; + + UIPort = mkOption { + type = types.int; + default = 8888; + description = '' + Panamax UI listening port. + ''; + }; + + APIPort = mkOption { + type = types.int; + default = 3000; + description = '' + Panamax UI listening port. + ''; + }; + + dataDir = mkOption { + type = types.str; + default = "/var/lib/panamax"; + description = '' + Data dir for Panamax. + ''; + }; + + fleetctlEndpoint = mkOption { + type = types.str; + default = "http://127.0.0.1:4001"; + description = '' + Fleetctl endpoint. + ''; + }; + + journalEndpoint = mkOption { + type = types.str; + default = "http://127.0.0.1:19531"; + description = '' + Journal endpoint. + ''; + }; + + secretKey = mkOption { + type = types.str; + default = "SomethingVeryLong."; + description = '' + Secret key (do change this). + ''; + }; + + }; + + ##### Implementation + config = mkIf cfg.enable { + systemd.services.panamax_api = { + description = "Panamax API"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "fleet.service" "etcd.service" "docker.service" ]; + environment = { + JOURNAL_ENDPOINT = cfg.journalEndpoint; + FLEETCTL_ENDPOINT = cfg.fleetctlEndpoint; + }; + preStart = "${panamax_api}/bin/panamax-api-init"; + serviceConfig = { + ExecStart = "${panamax_api}/bin/panamax-api-run --port ${toString cfg.APIPort}"; + User = "panamax"; + Group = "panamax"; + }; + }; + + systemd.services.panamax_ui = { + description = "Panamax UI"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "panamax_api.service" ]; + environment = { + JOURNAL_ENDPOINT = cfg.journalEndpoint; + PMX_API_PORT_3000_TCP_PORT = toString cfg.APIPort; + SECRET_KEY_BASE = cfg.secretKey; + }; + serviceConfig = { + ExecStart = "${panamax_ui}/bin/panamax-ui-run --port ${toString cfg.UIPort}"; + User = "panamax"; + Group = "panamax"; + }; + }; + + users.extraUsers.panamax = + { uid = config.ids.uids.panamax; + description = "Panamax user"; + createHome = true; + home = cfg.dataDir; + extraGroups = [ "docker" ]; + }; + + services.journald.enableHttpGateway = mkDefault true; + services.fleet.enable = mkDefault true; + virtualisation.docker.enable = mkDefault true; + + environment.systemPackages = [ panamax_api panamax_ui ]; + users.extraGroups.panamax.gid = config.ids.gids.panamax; + }; +} diff --git a/pkgs/applications/networking/cluster/panamax/Gemfile-api.nix b/pkgs/applications/networking/cluster/panamax/Gemfile-api.nix new file mode 100644 index 00000000000..94074f9d744 --- /dev/null +++ b/pkgs/applications/networking/cluster/panamax/Gemfile-api.nix @@ -0,0 +1,362 @@ +[ +{ +name = "actionmailer"; +hash = "05f36cd4897fd9229d89b09838edf0836dadab1065a2503a23eddd25a72a5b62"; +url = "http://rubygems.org/downloads/actionmailer-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "actionpack"; +hash = "5dfd227ed14e755db89f3fe3778271a280560bf5550323309d3d190880b7c11f"; +url = "http://rubygems.org/downloads/actionpack-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "actionview"; +hash = "5d8d50df260f7c0f65ee71fb0dcc8bb344b78d0ff7d26de4b152d8ebde19571b"; +url = "http://rubygems.org/downloads/actionview-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "active_model_serializers"; +hash = "744e1a710f6fd44f9140152bbce911c6705e59fdfc29300f3fa152ce477f43f3"; +url = "http://rubygems.org/downloads/active_model_serializers-0.9.0.gem"; +version = "0.9.0"; +} +{ +name = "activemodel"; +hash = "590288279d69fd6fba3a227275ca80a90131eb04e8d1381fbc7a1f5ac4ff9866"; +url = "http://rubygems.org/downloads/activemodel-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "activerecord"; +hash = "c52f2d21892a38c0817cafa0028f65217f5986a57921fdd2af7cc92a46059948"; +url = "http://rubygems.org/downloads/activerecord-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "activesupport"; +hash = "7a0d7b9c6e68b4cd01f9d686596aaf6671b0b16395cb97862f779666ccaf238e"; +url = "http://rubygems.org/downloads/activesupport-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "addressable"; +hash = "e822c28133d151d450778bbcf1f6e7742d4c3aba54498eb0da33d80a3990ee8c"; +url = "http://rubygems.org/downloads/addressable-2.3.6.gem"; +version = "2.3.6"; +} +{ +name = "archive-tar-minitar"; +hash = "2fe26844b314b8e2bd52ec16cff90e610b5c19075d1000161f8c8d3cc231c6c8"; +url = "http://rubygems.org/downloads/archive-tar-minitar-0.5.2.gem"; +version = "0.5.2"; +} +{ +name = "arel"; +hash = "c941f07bad89af26e8837c73d8a399b7777c721609f759eda015ed0081601636"; +url = "http://rubygems.org/downloads/arel-5.0.1.20140414130214.gem"; +version = "5.0.1.20140414130214"; +} +{ +name = "builder"; +hash = "62fb9ad70ea42219a0c8d209a30281803712c717df7cb8f5ce5f63b4d489d191"; +url = "http://rubygems.org/downloads/builder-3.2.2.gem"; +version = "3.2.2"; +} +{ +name = "coveralls"; +hash = "449284ddd071e2297d06d0a9d18fe4c2b4027848263b1087d4180fb44e03e36b"; +url = "http://rubygems.org/downloads/coveralls-0.7.0.gem"; +version = "0.7.0"; +} +{ +name = "crack"; +hash = "ea4c34f052106f571235f627f561d28309151c09b841130bb7627c2d522589c6"; +url = "http://rubygems.org/downloads/crack-0.4.2.gem"; +version = "0.4.2"; +} +{ +name = "database_cleaner"; +hash = "f675eb78d4fed65ae1e8503ccef4dfd25f4a3c3702bfb792789720a39a2f82a7"; +url = "http://rubygems.org/downloads/database_cleaner-1.3.0.gem"; +version = "1.3.0"; +} +{ +name = "diff-lcs"; +hash = "a1d3dde665292317a883d319066792e3f0e6a24cade4bc4cc47605d27664c9ed"; +url = "http://rubygems.org/downloads/diff-lcs-1.2.5.gem"; +version = "1.2.5"; +} +{ +name = "docile"; +hash = "5d3ee40b3a6567fe460601f3f4a3e199a98de37434ebfa242d751d0c79181255"; +url = "http://rubygems.org/downloads/docile-1.1.5.gem"; +version = "1.1.5"; +} +{ +name = "docker-api"; +hash = "e65a1a62d0d56c273e279eb96625084f6bca82467de22682539d1efb8e5059e5"; +url = "http://rubygems.org/downloads/docker-api-1.13.0.gem"; +version = "1.13.0"; +} +{ +name = "erubis"; +hash = "63653f5174a7997f6f1d6f465fbe1494dcc4bdab1fb8e635f6216989fb1148ba"; +url = "http://rubygems.org/downloads/erubis-2.7.0.gem"; +version = "2.7.0"; +} +{ +name = "excon"; +hash = "626b862a9f759a669dc62c57ccc8b3fc09c0e24af3431a6c0aa416acab56a717"; +url = "http://rubygems.org/downloads/excon-0.37.0.gem"; +version = "0.37.0"; +} +{ +name = "faraday"; +hash = "289c3b5b57821b52988bdb5178d3e1149741f2bae5fbee2a80bc83feb44ba79d"; +url = "http://rubygems.org/downloads/faraday-0.8.9.gem"; +version = "0.8.9"; +} +{ +name = "faraday_middleware"; +hash = "02b37848159983ed1e4374f46f02325bf0364e8eb1e0a38839d2b4deb4889bcf"; +url = "http://rubygems.org/downloads/faraday_middleware-0.9.0.gem"; +version = "0.9.0"; +} +{ +name = "fleet-api"; +hash = "c6aad769ddd4adafa81f99661bf04e2f7176d05bdd5834e0afe67607d8af6604"; +url = "http://rubygems.org/downloads/fleet-api-0.6.0.gem"; +version = "0.6.0"; +} +{ +name = "hike"; +hash = "154e2f2593845e5bcd8ed2ba3092600c55c6ad8c630722857de3fdaf334ccc44"; +url = "http://rubygems.org/downloads/hike-1.2.3.gem"; +version = "1.2.3"; +} +{ +name = "i18n"; +hash = "b37dda25b30484f2674a851e24ae098a38564a61c976fa91a34bf8fceaa3923b"; +url = "http://rubygems.org/downloads/i18n-0.6.11.gem"; +version = "0.6.11"; +} +{ +name = "its"; +hash = "0ffd70eda8958938f6568141fac1fb8a2b8899abbf2b867f45e4e21b936ebc67"; +url = "http://rubygems.org/downloads/its-0.2.0.gem"; +version = "0.2.0"; +} +{ +name = "json"; +hash = "961bfbbfa9fda1e857e9c791e964e6664e0d43bf687b19669dfbc7cdbc5e0200"; +url = "http://rubygems.org/downloads/json-1.8.1.gem"; +version = "1.8.1"; +} +{ +name = "kmts"; +hash = "1bb5e075232b3ed13aaa01db5e1e8e2638ae3a8aa6aa2254198f0e42304066f2"; +url = "http://rubygems.org/downloads/kmts-2.0.1.gem"; +version = "2.0.1"; +} +{ +name = "mail"; +hash = "d7fee1ec4e4ea9bb38b77de5baf53c17004133efcdff030bd1de5e3620306fd9"; +url = "http://rubygems.org/downloads/mail-2.6.3.gem"; +version = "2.6.3"; +} +{ +name = "mime-types"; +hash = "38f29a89a273d15bfb99e839c6fe5cf7c463f223dd7ac5ee3c9287b1acd6d19a"; +url = "http://rubygems.org/downloads/mime-types-2.4.3.gem"; +version = "2.4.3"; +} +{ +name = "minitest"; +hash = "a41b54b1c6e64b102fe78bf265045896845c38177a10bdb32d04caf4e06542f3"; +url = "http://rubygems.org/downloads/minitest-5.4.3.gem"; +version = "5.4.3"; +} +{ +name = "multi_json"; +hash = "2c98979877e87df0b338ebf5c86091b390f53d62c11a8232bd51ca007e0b82d2"; +url = "http://rubygems.org/downloads/multi_json-1.10.1.gem"; +version = "1.10.1"; +} +{ +name = "multipart-post"; +hash = "ccf26a61706f128a2a3f3745aba0f79fde7b6fee068e03490eb189c2aaa5e78a"; +url = "http://rubygems.org/downloads/multipart-post-1.2.0.gem"; +version = "1.2.0"; +} +{ +name = "octokit"; +hash = "cf8690111a706d493f1ace13c81ce966f6f1ba29bc4d4896d65f9c0d431f941e"; +url = "http://rubygems.org/downloads/octokit-3.2.0.gem"; +version = "3.2.0"; +} +{ +name = "puma"; +hash = "13ac36ce9535ead0b6ebbd540b5fa99ea53126c0f697a5ce96aefb8d5c75a7d0"; +url = "http://rubygems.org/downloads/puma-2.8.2.gem"; +version = "2.8.2"; +} +{ +name = "rack"; +hash = "e64af00234e8faaa69ea81ef4e3800f40743c69560f0dda8fc9969660e775fa7"; +url = "http://rubygems.org/downloads/rack-1.5.2.gem"; +version = "1.5.2"; +} +{ +name = "rack-test"; +hash = "7e920b6aac888e4a3846e5997fb1cbf456bdb5846322b58dc31697a54a38b306"; +url = "http://rubygems.org/downloads/rack-test-0.6.2.gem"; +version = "0.6.2"; +} +{ +name = "rails"; +hash = "20972f5ce418d5b938afa42680bcbe8c52770c0664429233fa0e567a25bd3515"; +url = "http://rubygems.org/downloads/rails-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "railties"; +hash = "dfa7ef2174675c88492c62596bfe6d8aa78f3735305aaa372d5801f9328008d8"; +url = "http://rubygems.org/downloads/railties-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "rake"; +hash = "887f72d6711c31576abab37f1f7db45972402cc8544fa9a67c06d2c0f0ef2028"; +url = "http://rubygems.org/downloads/rake-10.4.0.gem"; +version = "10.4.0"; +} +{ +name = "rest-client"; +hash = "a3203433b8b0c914648caea54395a8791a61e0df7d401c81f4e2b7f8a8fac75a"; +url = "http://rubygems.org/downloads/rest-client-1.6.7.gem"; +version = "1.6.7"; +} +{ +name = "rspec-core"; +hash = "89e1aed9b8b1c22d4bc0cbed25e163c10075731df87e2ea9736f1863e9e66a05"; +url = "http://rubygems.org/downloads/rspec-core-3.1.7.gem"; +version = "3.1.7"; +} +{ +name = "rspec-expectations"; +hash = "f0db34c6b7f351031880e08e59c8902f0f037b0e0f7e52345b978667b9190d55"; +url = "http://rubygems.org/downloads/rspec-expectations-3.1.2.gem"; +version = "3.1.2"; +} +{ +name = "rspec-mocks"; +hash = "f9d76c70a9c38171cdce7a64b871739cf73ec8647d6b70adfe44453a072fb33f"; +url = "http://rubygems.org/downloads/rspec-mocks-3.1.3.gem"; +version = "3.1.3"; +} +{ +name = "rspec-rails"; +hash = "980fa827218f483a0efb5d22922b53b1006cbd58e38ec593bb2bb016ecb031ac"; +url = "http://rubygems.org/downloads/rspec-rails-3.1.0.gem"; +version = "3.1.0"; +} +{ +name = "rspec-support"; +hash = "2b5fc899bb71019b7ed956105e8492c90f077641309d9c7c0e09669a72dac693"; +url = "http://rubygems.org/downloads/rspec-support-3.1.2.gem"; +version = "3.1.2"; +} +{ +name = "safe_yaml"; +hash = "248193992ef1730a0c9ec579999ef2256a2b3a32a9bd9d708a1e12544a489ec2"; +url = "http://rubygems.org/downloads/safe_yaml-1.0.4.gem"; +version = "1.0.4"; +} +{ +name = "sawyer"; +hash = "5bf41b23f93568f14ffdfe6d0d417048f2eb7e9ed11695a7654a3de0ee277406"; +url = "http://rubygems.org/downloads/sawyer-0.5.4.gem"; +version = "0.5.4"; +} +{ +name = "shoulda-matchers"; +hash = "81554002d29e612e55daf2c45b40b617ad7a2186d8eebaec6946ea46da8672dc"; +url = "http://rubygems.org/downloads/shoulda-matchers-2.6.1.gem"; +version = "2.6.1"; +} +{ +name = "simplecov"; +hash = "ce9ffc797f9e4493bf97bbf5e88073ad7351d8234561b56ea3bd2baa68a71e1a"; +url = "http://rubygems.org/downloads/simplecov-0.9.1.gem"; +version = "0.9.1"; +} +{ +name = "simplecov-html"; +hash = "69393ce932c2898dd5074913e360078f651f094a9b7300b286a78f43b11c164a"; +url = "http://rubygems.org/downloads/simplecov-html-0.8.0.gem"; +version = "0.8.0"; +} +{ +name = "sprockets"; +hash = "c25a4a37c9436e5a2c877b926156bce1826a0156d9cd96ca704ab085726ec2ae"; +url = "http://rubygems.org/downloads/sprockets-2.12.3.gem"; +version = "2.12.3"; +} +{ +name = "sprockets-rails"; +hash = "148ea6c109605093f84725dee46f2943e973cdb602f83b93e540a93d35ee4e10"; +url = "http://rubygems.org/downloads/sprockets-rails-2.2.0.gem"; +version = "2.2.0"; +} +{ +name = "sqlite3"; +hash = "9984744afb5f44ca4a82aec66e257ff60783920afd48f06606d1fb4a9d51a61e"; +url = "http://rubygems.org/downloads/sqlite3-1.3.9.gem"; +version = "1.3.9"; +} +{ +name = "term-ansicolor"; +hash = "8b5caf6839a0c1bbf7a55a9d2fbd3c172f623fa05c427f9b3ea5d75bdfe14fa8"; +url = "http://rubygems.org/downloads/term-ansicolor-1.3.0.gem"; +version = "1.3.0"; +} +{ +name = "thor"; +hash = "9ff834f031b5550c743bb8a3139317fefdae9cdebd02d60de376658f427fe522"; +url = "http://rubygems.org/downloads/thor-0.19.1.gem"; +version = "0.19.1"; +} +{ +name = "thread_safe"; +hash = "16315baa971c48d00104bcd35e8934e3f9ccfd3b8f429e3fca7ee2dfd81734b2"; +url = "http://rubygems.org/downloads/thread_safe-0.3.4.gem"; +version = "0.3.4"; +} +{ +name = "tilt"; +hash = "39820562c4f5db45fe18de87ccc30a0e77a998bf5334b1d8c10a2f7dbc1f5903"; +url = "http://rubygems.org/downloads/tilt-1.4.1.gem"; +version = "1.4.1"; +} +{ +name = "tins"; +hash = "b1ad5c07aef3f26b80f329c701bfedf83f1bc560e7516e0ce284d774fd2caafb"; +url = "http://rubygems.org/downloads/tins-1.3.0.gem"; +version = "1.3.0"; +} +{ +name = "tzinfo"; +hash = "fdb1d3fdf2776d490c82a0e589a08e7cbde70ac1ae7d2b1f0b7e77f3e6b801b0"; +url = "http://rubygems.org/downloads/tzinfo-1.2.2.gem"; +version = "1.2.2"; +} +{ +name = "webmock"; +hash = "d544830ab2203e2796ab55fbee6859d8e248c7e6deeadb4fa74448f63bd8852e"; +url = "http://rubygems.org/downloads/webmock-1.20.0.gem"; +version = "1.20.0"; +} +] diff --git a/pkgs/applications/networking/cluster/panamax/Gemfile-ui.nix b/pkgs/applications/networking/cluster/panamax/Gemfile-ui.nix new file mode 100644 index 00000000000..9fabe820cb3 --- /dev/null +++ b/pkgs/applications/networking/cluster/panamax/Gemfile-ui.nix @@ -0,0 +1,482 @@ +[ +{ +name = "actionmailer"; +hash = "05f36cd4897fd9229d89b09838edf0836dadab1065a2503a23eddd25a72a5b62"; +url = "http://rubygems.org/downloads/actionmailer-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "actionpack"; +hash = "5dfd227ed14e755db89f3fe3778271a280560bf5550323309d3d190880b7c11f"; +url = "http://rubygems.org/downloads/actionpack-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "actionview"; +hash = "5d8d50df260f7c0f65ee71fb0dcc8bb344b78d0ff7d26de4b152d8ebde19571b"; +url = "http://rubygems.org/downloads/actionview-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "activemodel"; +hash = "590288279d69fd6fba3a227275ca80a90131eb04e8d1381fbc7a1f5ac4ff9866"; +url = "http://rubygems.org/downloads/activemodel-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "activerecord"; +hash = "c52f2d21892a38c0817cafa0028f65217f5986a57921fdd2af7cc92a46059948"; +url = "http://rubygems.org/downloads/activerecord-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "activeresource"; +hash = "589266ba14c344903c582e82ad39da5f24067f9bcbcf8213d55f7a19e58b8539"; +url = "http://rubygems.org/downloads/activeresource-4.0.0.gem"; +version = "4.0.0"; +} +{ +name = "activesupport"; +hash = "7a0d7b9c6e68b4cd01f9d686596aaf6671b0b16395cb97862f779666ccaf238e"; +url = "http://rubygems.org/downloads/activesupport-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "addressable"; +hash = "e822c28133d151d450778bbcf1f6e7742d4c3aba54498eb0da33d80a3990ee8c"; +url = "http://rubygems.org/downloads/addressable-2.3.6.gem"; +version = "2.3.6"; +} +{ +name = "arel"; +hash = "c941f07bad89af26e8837c73d8a399b7777c721609f759eda015ed0081601636"; +url = "http://rubygems.org/downloads/arel-5.0.1.20140414130214.gem"; +version = "5.0.1.20140414130214"; +} +{ +name = "binding_of_caller"; +hash = "d327682ce1d8e8cc46e282a46052946af0de16bef734014c63df0aac66334f96"; +url = "http://rubygems.org/downloads/binding_of_caller-0.7.2.gem"; +version = "0.7.2"; +} +{ +name = "builder"; +hash = "62fb9ad70ea42219a0c8d209a30281803712c717df7cb8f5ce5f63b4d489d191"; +url = "http://rubygems.org/downloads/builder-3.2.2.gem"; +version = "3.2.2"; +} +{ +name = "byebug"; +hash = "56358e944d1cdb83151d4400631306eb2539b5fdf1b5e784cdd984b14016ac51"; +url = "http://rubygems.org/downloads/byebug-3.5.1.gem"; +version = "3.5.1"; +} +{ +name = "capybara"; +hash = "dac69117b32bbf56d3345e01a04426811e3c576a3216f2eb8bfaf861f527a28b"; +url = "http://rubygems.org/downloads/capybara-2.3.0.gem"; +version = "2.3.0"; +} +{ +name = "coderay"; +hash = "5a943c59e36f7ef9dd2677855735656413af02e3f302431e9c548aabe89f3c15"; +url = "http://rubygems.org/downloads/coderay-1.1.0.gem"; +version = "1.1.0"; +} +{ +name = "columnize"; +hash = "37d6e33624f2e3542667425504d204843788ce52905b2529654ab57d11fe6ab8"; +url = "http://rubygems.org/downloads/columnize-0.8.9.gem"; +version = "0.8.9"; +} +{ +name = "coveralls"; +hash = "449284ddd071e2297d06d0a9d18fe4c2b4027848263b1087d4180fb44e03e36b"; +url = "http://rubygems.org/downloads/coveralls-0.7.0.gem"; +version = "0.7.0"; +} +{ +name = "crack"; +hash = "ea4c34f052106f571235f627f561d28309151c09b841130bb7627c2d522589c6"; +url = "http://rubygems.org/downloads/crack-0.4.2.gem"; +version = "0.4.2"; +} +{ +name = "ctl_base_ui"; +hash = "adb8be85e5bc292af2ee0d5e8482f011d82cc4e65e8270fda1981957015d0d40"; +url = "http://rubygems.org/downloads/ctl_base_ui-0.0.4.gem"; +version = "0.0.4"; +} +{ +name = "debug_inspector"; +hash = "1594188ffd35b9973fa1e048497e4aa63abad0c3cbba0670e17935005e302781"; +url = "http://rubygems.org/downloads/debug_inspector-0.0.2.gem"; +version = "0.0.2"; +} +{ +name = "debugger-linecache"; +hash = "bf5d371a295727c131618e3cd223c6939c51c7bb28ff172477bb340752e89e47"; +url = "http://rubygems.org/downloads/debugger-linecache-1.2.0.gem"; +version = "1.2.0"; +} +{ +name = "diff-lcs"; +hash = "a1d3dde665292317a883d319066792e3f0e6a24cade4bc4cc47605d27664c9ed"; +url = "http://rubygems.org/downloads/diff-lcs-1.2.5.gem"; +version = "1.2.5"; +} +{ +name = "docile"; +hash = "5d3ee40b3a6567fe460601f3f4a3e199a98de37434ebfa242d751d0c79181255"; +url = "http://rubygems.org/downloads/docile-1.1.5.gem"; +version = "1.1.5"; +} +{ +name = "dotenv"; +hash = "35e10cfb1b6ba008f5f1f45b15809c33c424b1fb1ab58d358847cf651af0e027"; +url = "http://rubygems.org/downloads/dotenv-0.11.1.gem"; +version = "0.11.1"; +} +{ +name = "dotenv-deployment"; +hash = "0c7db97431f091e11b88f26fd08d3f1a0570128d5e73a465c0380195b034a6a9"; +url = "http://rubygems.org/downloads/dotenv-deployment-0.0.2.gem"; +version = "0.0.2"; +} +{ +name = "dotenv-rails"; +hash = "1e67a7a949a3336184cf3235cf8d2dc66aca8ae2a7f7594f5c37d210818bd064"; +url = "http://rubygems.org/downloads/dotenv-rails-0.11.1.gem"; +version = "0.11.1"; +} +{ +name = "erubis"; +hash = "63653f5174a7997f6f1d6f465fbe1494dcc4bdab1fb8e635f6216989fb1148ba"; +url = "http://rubygems.org/downloads/erubis-2.7.0.gem"; +version = "2.7.0"; +} +{ +name = "execjs"; +hash = "0bc9e196416a59cf16690ebdcc09ecd3fd692919e93e8245210402cc717a81e8"; +url = "http://rubygems.org/downloads/execjs-2.2.1.gem"; +version = "2.2.1"; +} +{ +name = "haml"; +hash = "05b1cde6e0d770e800cb74f6bf1212446bc4573bbbfecc4002e1085c2658bff6"; +url = "http://rubygems.org/downloads/haml-4.0.5.gem"; +version = "4.0.5"; +} +{ +name = "hike"; +hash = "154e2f2593845e5bcd8ed2ba3092600c55c6ad8c630722857de3fdaf334ccc44"; +url = "http://rubygems.org/downloads/hike-1.2.3.gem"; +version = "1.2.3"; +} +{ +name = "i18n"; +hash = "b37dda25b30484f2674a851e24ae098a38564a61c976fa91a34bf8fceaa3923b"; +url = "http://rubygems.org/downloads/i18n-0.6.11.gem"; +version = "0.6.11"; +} +{ +name = "jquery-rails"; +hash = "7ee42bba07bb858c11d81da798c2bfa3641b5afad5d420445b55d0118b29aa40"; +url = "http://rubygems.org/downloads/jquery-rails-3.1.2.gem"; +version = "3.1.2"; +} +{ +name = "jquery-ui-rails"; +hash = "5b349e7066150b16d7a784183f040c083d51af3357937b8564aa0cc8b1cd59bd"; +url = "http://rubygems.org/downloads/jquery-ui-rails-4.2.1.gem"; +version = "4.2.1"; +} +{ +name = "json"; +hash = "961bfbbfa9fda1e857e9c791e964e6664e0d43bf687b19669dfbc7cdbc5e0200"; +url = "http://rubygems.org/downloads/json-1.8.1.gem"; +version = "1.8.1"; +} +{ +name = "kramdown"; +hash = "00611597850c4c9a0d7e00d4d8cf8eb446b3b9aef8f2b4569b7bf1583df03b00"; +url = "http://rubygems.org/downloads/kramdown-1.4.0.gem"; +version = "1.4.0"; +} +{ +name = "libv8"; +hash = "988948213e992417dffee3cebbcf565c59f1702d539ec202cbc2c117b8205c10"; +url = "http://rubygems.org/downloads/libv8-3.16.14.7-x86_64-linux.gem"; +version = "3.16.14.7"; +} +{ +name = "mail"; +hash = "d7fee1ec4e4ea9bb38b77de5baf53c17004133efcdff030bd1de5e3620306fd9"; +url = "http://rubygems.org/downloads/mail-2.6.3.gem"; +version = "2.6.3"; +} +{ +name = "method_source"; +hash = "c2e9d0f4ebefd6b37efe38fe2964337b1d315fe198cad850681fd2da0027b1bc"; +url = "http://rubygems.org/downloads/method_source-0.8.2.gem"; +version = "0.8.2"; +} +{ +name = "mime-types"; +hash = "38f29a89a273d15bfb99e839c6fe5cf7c463f223dd7ac5ee3c9287b1acd6d19a"; +url = "http://rubygems.org/downloads/mime-types-2.4.3.gem"; +version = "2.4.3"; +} +{ +name = "mini_portile"; +hash = "762b3e241362de24b2eb2bb1b98638399b931e9e51bece5f8e2df7611eb16c26"; +url = "http://rubygems.org/downloads/mini_portile-0.6.0.gem"; +version = "0.6.0"; +} +{ +name = "minitest"; +hash = "a41b54b1c6e64b102fe78bf265045896845c38177a10bdb32d04caf4e06542f3"; +url = "http://rubygems.org/downloads/minitest-5.4.3.gem"; +version = "5.4.3"; +} +{ +name = "multi_json"; +hash = "2c98979877e87df0b338ebf5c86091b390f53d62c11a8232bd51ca007e0b82d2"; +url = "http://rubygems.org/downloads/multi_json-1.10.1.gem"; +version = "1.10.1"; +} +{ +name = "nokogiri"; +hash = "dfb23254b87672a93582981c4ac5880d178ff32db6878fc351d75198aa544836"; +url = "http://rubygems.org/downloads/nokogiri-1.6.2.1.gem"; +version = "1.6.2.1"; +} +{ +name = "phantomjs"; +hash = "87666a234180c69186df0d4a009f5cbbb0de58972f2217ee827affc5bf075a91"; +url = "http://rubygems.org/downloads/phantomjs-1.9.7.1.gem"; +version = "1.9.7.1"; +} +{ +name = "pry"; +hash = "1f4925cdc8d83db67ba9b7ff542f042558c0ceb5579966e0fabc6d0eaa2b19c8"; +url = "http://rubygems.org/downloads/pry-0.10.1.gem"; +version = "0.10.1"; +} +{ +name = "pry-byebug"; +hash = "f8bfffb58c6a37d2ee8edf8896a778b441237df3c90cf9272f64a4c88038669d"; +url = "http://rubygems.org/downloads/pry-byebug-2.0.0.gem"; +version = "2.0.0"; +} +{ +name = "pry-stack_explorer"; +hash = "bfa09ca06ee08121fa34fb4e1eca776c0cb7530a7e96600d9a36e5e6189648a0"; +url = "http://rubygems.org/downloads/pry-stack_explorer-0.4.9.1.gem"; +version = "0.4.9.1"; +} +{ +name = "puma"; +hash = "13ac36ce9535ead0b6ebbd540b5fa99ea53126c0f697a5ce96aefb8d5c75a7d0"; +url = "http://rubygems.org/downloads/puma-2.8.2.gem"; +version = "2.8.2"; +} +{ +name = "rack"; +hash = "e64af00234e8faaa69ea81ef4e3800f40743c69560f0dda8fc9969660e775fa7"; +url = "http://rubygems.org/downloads/rack-1.5.2.gem"; +version = "1.5.2"; +} +{ +name = "rack-protection"; +hash = "b9c08cb17b13c6672ef642cc4855b4c4ba8fcb1f66abc687f03cddf37f106b33"; +url = "http://rubygems.org/downloads/rack-protection-1.5.3.gem"; +version = "1.5.3"; +} +{ +name = "rack-test"; +hash = "7e920b6aac888e4a3846e5997fb1cbf456bdb5846322b58dc31697a54a38b306"; +url = "http://rubygems.org/downloads/rack-test-0.6.2.gem"; +version = "0.6.2"; +} +{ +name = "rails"; +hash = "20972f5ce418d5b938afa42680bcbe8c52770c0664429233fa0e567a25bd3515"; +url = "http://rubygems.org/downloads/rails-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "rails-observers"; +hash = "9e71de73929a9a7e8cde83c041989bbb25914f84047ce15dde37eefa650a5cd3"; +url = "http://rubygems.org/downloads/rails-observers-0.1.2.gem"; +version = "0.1.2"; +} +{ +name = "railties"; +hash = "dfa7ef2174675c88492c62596bfe6d8aa78f3735305aaa372d5801f9328008d8"; +url = "http://rubygems.org/downloads/railties-4.1.7.gem"; +version = "4.1.7"; +} +{ +name = "rake"; +hash = "82cfce8fb9c53bc2d96acc88456056b1ed5aab162b85f9419b7c5f7edbff8690"; +url = "http://rubygems.org/downloads/rake-10.4.1.gem"; +version = "10.4.1"; +} +{ +name = "ref"; +hash = "8a8ec8f40f1e622c4324055d85300e03d9a78a9faf476ea0d382f1af9dbe0fa7"; +url = "http://rubygems.org/downloads/ref-1.0.5.gem"; +version = "1.0.5"; +} +{ +name = "rest-client"; +hash = "a3203433b8b0c914648caea54395a8791a61e0df7d401c81f4e2b7f8a8fac75a"; +url = "http://rubygems.org/downloads/rest-client-1.6.7.gem"; +version = "1.6.7"; +} +{ +name = "rspec-core"; +hash = "8c43f4dbc105ca622e72693c8aed533386580c0fa082bcd280777cda66f1525f"; +url = "http://rubygems.org/downloads/rspec-core-2.14.8.gem"; +version = "2.14.8"; +} +{ +name = "rspec-expectations"; +hash = "c961c9dff8127c1b4ddd24358e5c921f8f09805a92c42ff996e66c39119f28da"; +url = "http://rubygems.org/downloads/rspec-expectations-2.14.5.gem"; +version = "2.14.5"; +} +{ +name = "rspec-mocks"; +hash = "60eca91c74afd5f978eacdd60f4d81ff669910b6c24f023daecc70d364ac9abb"; +url = "http://rubygems.org/downloads/rspec-mocks-2.14.6.gem"; +version = "2.14.6"; +} +{ +name = "rspec-rails"; +hash = "a75c843e8ecfee79b0aeefd392e6f740bc1e48e174bcc292e753846b145c36c9"; +url = "http://rubygems.org/downloads/rspec-rails-2.14.2.gem"; +version = "2.14.2"; +} +{ +name = "safe_yaml"; +hash = "94a36065cd702f8939f928106f63b0e9049d0cddcbf5163ccc430332fdf46b18"; +url = "http://rubygems.org/downloads/safe_yaml-1.0.3.gem"; +version = "1.0.3"; +} +{ +name = "sass"; +hash = "bfce1f74e41f135d32a346dff35358424ddd7062d371f20f487120318edc294c"; +url = "http://rubygems.org/downloads/sass-3.3.9.gem"; +version = "3.3.9"; +} +{ +name = "simplecov"; +hash = "ce9ffc797f9e4493bf97bbf5e88073ad7351d8234561b56ea3bd2baa68a71e1a"; +url = "http://rubygems.org/downloads/simplecov-0.9.1.gem"; +version = "0.9.1"; +} +{ +name = "simplecov-html"; +hash = "69393ce932c2898dd5074913e360078f651f094a9b7300b286a78f43b11c164a"; +url = "http://rubygems.org/downloads/simplecov-html-0.8.0.gem"; +version = "0.8.0"; +} +{ +name = "sinatra"; +hash = "3a8083318938048090021481581158ede01e47659d06d192f97a5bfaf950d663"; +url = "http://rubygems.org/downloads/sinatra-1.4.5.gem"; +version = "1.4.5"; +} +{ +name = "slop"; +hash = "76ccab03be66bfcab4838cdc07cab019cd3e192a3538266246749e79e4788803"; +url = "http://rubygems.org/downloads/slop-3.6.0.gem"; +version = "3.6.0"; +} +{ +name = "sprockets"; +hash = "c25a4a37c9436e5a2c877b926156bce1826a0156d9cd96ca704ab085726ec2ae"; +url = "http://rubygems.org/downloads/sprockets-2.12.3.gem"; +version = "2.12.3"; +} +{ +name = "sprockets-rails"; +hash = "2ba0eddfb651d7b8a5aab1d03b25d9a61333509a589b48e1355fbe40dd264da4"; +url = "http://rubygems.org/downloads/sprockets-rails-2.2.2.gem"; +version = "2.2.2"; +} +{ +name = "teaspoon"; +hash = "7f5c90796186877f0e3c10914f8aa8866d3696c0667d9e5aaab36c96eaca6bc8"; +url = "http://rubygems.org/downloads/teaspoon-0.8.0.gem"; +version = "0.8.0"; +} +{ +name = "term-ansicolor"; +hash = "8b5caf6839a0c1bbf7a55a9d2fbd3c172f623fa05c427f9b3ea5d75bdfe14fa8"; +url = "http://rubygems.org/downloads/term-ansicolor-1.3.0.gem"; +version = "1.3.0"; +} +{ +name = "therubyracer"; +hash = "26565ce91657acb5d0921584cace7ee82723452d747d66ee8154298f6bc4ce80"; +url = "http://rubygems.org/downloads/therubyracer-0.12.1.gem"; +version = "0.12.1"; +} +{ +name = "thor"; +hash = "9ff834f031b5550c743bb8a3139317fefdae9cdebd02d60de376658f427fe522"; +url = "http://rubygems.org/downloads/thor-0.19.1.gem"; +version = "0.19.1"; +} +{ +name = "thread_safe"; +hash = "16315baa971c48d00104bcd35e8934e3f9ccfd3b8f429e3fca7ee2dfd81734b2"; +url = "http://rubygems.org/downloads/thread_safe-0.3.4.gem"; +version = "0.3.4"; +} +{ +name = "tilt"; +hash = "39820562c4f5db45fe18de87ccc30a0e77a998bf5334b1d8c10a2f7dbc1f5903"; +url = "http://rubygems.org/downloads/tilt-1.4.1.gem"; +version = "1.4.1"; +} +{ +name = "tins"; +hash = "5964d11f3784651370b685ea2751f3f88c75f4def29a1b04b19f224e0161ad49"; +url = "http://rubygems.org/downloads/tins-1.1.0.gem"; +version = "1.1.0"; +} +{ +name = "tzinfo"; +hash = "fdb1d3fdf2776d490c82a0e589a08e7cbde70ac1ae7d2b1f0b7e77f3e6b801b0"; +url = "http://rubygems.org/downloads/tzinfo-1.2.2.gem"; +version = "1.2.2"; +} +{ +name = "uglifier"; +hash = "e0badf2761a79855e2c008e50d3e9253bc60738d64230da25069ff9ac0c030ee"; +url = "http://rubygems.org/downloads/uglifier-2.5.1.gem"; +version = "2.5.1"; +} +{ +name = "webmock"; +hash = "0360485651dfe94675a36f546367e2bb075570ab879fdb311b4bd2763a5141e4"; +url = "http://rubygems.org/downloads/webmock-1.18.0.gem"; +version = "1.18.0"; +} +{ +name = "xpath"; +hash = "9ca4a1cc88d9ab16c591468cce7b5d00ee06a8a76b841f8438970c7a44c86c12"; +url = "http://rubygems.org/downloads/xpath-2.0.0.gem"; +version = "2.0.0"; +} +{ +name = "zeroclipboard-rails"; +hash = "cc31aa9aae0b3aec173c966c1c7cf398374cfe37cc80fbbdc6aa57a000553d02"; +url = "http://rubygems.org/downloads/zeroclipboard-rails-0.1.0.gem"; +version = "0.1.0"; +} +] diff --git a/pkgs/applications/networking/cluster/panamax/api.nix b/pkgs/applications/networking/cluster/panamax/api.nix new file mode 100644 index 00000000000..80e515873d3 --- /dev/null +++ b/pkgs/applications/networking/cluster/panamax/api.nix @@ -0,0 +1,139 @@ +{ stdenv, buildEnv, fetchgit, fetchurl, ruby_2_1, rubygemsFun, libxslt, libxml2 +, sqlite, openssl, cacert, writeScriptBin, docker +, dataDir ? "/var/lib/panamax-api" }: +let + ruby = ruby_2_1; + rubygems = rubygemsFun ruby_2_1; + + gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile-api.nix); + + srcs = { + bundler = fetchurl { + url = "http://rubygems.org/downloads/bundler-1.7.9.gem"; + sha256 = "1gd201rh17xykab9pbqp0dkxfm7b9jri02llyvmrc0c5bz2vhycm"; + }; + }; + + panamax_api = stdenv.mkDerivation rec { + name = "panamax-api-${version}"; + version = "0.2.11"; + + src = fetchgit { + rev = "refs/tags/v${version}"; + url = "git://github.com/CenturyLinkLabs/panamax-api"; + sha256 = "01sz7jibn1rqfga85pr4p8wk6jfldzfaxj1726vs6znmcwhfkcgj"; + }; + + buildInputs = [ sqlite openssl ruby ]; + + installPhase = '' + mkdir -p $out/share/panamax-api + cp -R . $out/share/panamax-api + cd $out/share/panamax-api + + export HOME=$PWD + export GEM_HOME=$PWD + export PATH="${rubygems}/bin:$PATH" + export RAILS_ENV=production + + find . -type f -exec sed -e 's|/usr/bin/docker|${docker}/bin/docker|g' -i "{}" \; + + mkdir -p vendor/cache + ${stdenv.lib.concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)} + + ${"ln -s ${srcs.bundler} vendor/cache/${srcs.bundler.name};"} + gem install --local vendor/cache/${srcs.bundler.name} + + ln -sf ${database_yml} config/database.yml + + + bin/bundle install -j4 --verbose --local --deployment + + rm -f ./bin/* + + ./gems/bundler-*/bin/bundle exec rake rails:update:bin + + rm -rf log + ln -sf ${dataDir}/state/log . + ln -sf ${dataDir}/state/tmp . + mv ./db ./_db + ln -sf ${dataDir}/db . + ''; + }; + + panamax_api_init = writeScriptBin "panamax-api-init" '' + #!${stdenv.shell} + + test -d ${dataDir}/db && exit 0 + + cd ${panamax_api}/share/panamax-api + + export HOME=$PWD + export GEM_HOME=$PWD + export PATH="${panamax_api}/share/panamax-api/bin:${ruby}/bin:$PATH" + export OPENSSL_X509_CERT_FILE="${cacert}/etc/ca-bundle.crt" + export RAILS_ENV=production + + mkdir -p ${dataDir}/state/log + mkdir -p ${dataDir}/db/mnt + ln -sf ${panamax_api}/share/panamax-api/_db/schema.rb ${dataDir}/db/ + ln -sf ${panamax_api}/share/panamax-api/_db/seeds.rb ${dataDir}/db/ + ln -sf ${panamax_api}/share/panamax-api/_db/migrate ${dataDir}/db/ + + bundle exec rake db:setup + bundle exec rake db:seed + bundle exec rake panamax:templates:load + ''; + + panamax_api_run = writeScriptBin "panamax-api-run" '' + #!${stdenv.shell} + cd ${panamax_api}/share/panamax-api + mkdir -p ${dataDir}/state/tmp + export HOME=$PWD + export GEM_HOME=$PWD + export PATH="${panamax_api}/share/panamax-api/bin:${ruby}/bin:${docker}/bin:$PATH" + export RAILS_ENV=production + export SSL_CERT_FILE="${cacert}/etc/ca-bundle.crt" + bin/bundle exec rails s $@ + ''; + + database_yml = builtins.toFile "database.yml" '' + development: + adapter: sqlite3 + database: ${dataDir}/db/mnt/development.sqlite3 + pool: 5 + timeout: 5000 + + # See corresponding schema load in spec/support/in_memory_database + test: + adapter: sqlite3 + database: ":memory:" + verbosity: quiet + + production: + adapter: sqlite3 + database: ${dataDir}/db/mnt/production.sqlite3 + pool: 5 + timeout: 5000 + ''; + +in + stdenv.mkDerivation rec { + name = panamax_api.name; + + unpackPhase = "true"; + + installPhase = '' + mkdir -p $out/bin + ln -s ${panamax_api_init}/bin/* $out/bin + ln -s ${panamax_api_run}/bin/* $out/bin + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/CenturyLinkLabs/panamax-api; + description = "The API behind The Panamax UI"; + license = licenses.asl20; + maintainers = with maintainers; [ matejc ]; + platforms = platforms.linux; + }; + } diff --git a/pkgs/applications/networking/cluster/panamax/ui.nix b/pkgs/applications/networking/cluster/panamax/ui.nix new file mode 100644 index 00000000000..bc520f60d6d --- /dev/null +++ b/pkgs/applications/networking/cluster/panamax/ui.nix @@ -0,0 +1,101 @@ +{ stdenv, buildEnv, fetchgit, fetchurl, ruby_2_1, rubygemsFun +, libxml2, libxslt, openssl, writeScriptBin, sqlite +, dataDir ? "/var/lib/panamax-ui" }: +let + ruby = ruby_2_1; + rubygems = rubygemsFun ruby_2_1; + + gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile-ui.nix); + + srcs = { + bundler = fetchurl { + url = "http://rubygems.org/downloads/bundler-1.7.9.gem"; + sha256 = "1gd201rh17xykab9pbqp0dkxfm7b9jri02llyvmrc0c5bz2vhycm"; + }; + }; + + panamax_ui = stdenv.mkDerivation rec { + name = "panamax-ui-${version}"; + version = "0.2.11"; + + src = fetchgit { + rev = "refs/tags/v${version}"; + url = "git://github.com/CenturyLinkLabs/panamax-ui"; + sha256 = "17j5ac8fzp377bzg7f239jdcc9j0c63bkx0ill5nl10i3h05z7jh"; + }; + + buildInputs = [ ruby openssl sqlite ]; + installPhase = '' + mkdir -p $out/share/panamax-ui + cp -R . $out/share/panamax-ui + cd $out/share/panamax-ui + + find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Journal|NixOS Journal|g' -i "{}" \; + find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Local|NixOS Local|g' -i "{}" \; + find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Host|NixOS Host|g' -i "{}" \; + sed -e 's|CoreOS Local|NixOS Local|g' -i "spec/features/manage_application_spec.rb" + + export HOME=$PWD + export GEM_HOME=$PWD + export PATH="${rubygems}/bin:$PATH" + + mkdir -p vendor/cache + ${stdenv.lib.concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)} + + ${"ln -s ${srcs.bundler} vendor/cache/${srcs.bundler.name};"} + gem install --local vendor/cache/${srcs.bundler.name} + + bin/bundle install --verbose --local --without development test + + rm -f ./bin/* + + ./gems/bundler-*/bin/bundle exec rake rails:update:bin + + rm -rf log + ln -sf ${dataDir}/state/log . + rm -rf tmp + ln -sf ${dataDir}/state/tmp . + rm -rf db + ln -sf ${dataDir}/db . + ''; + }; + + panamax_ui_run = writeScriptBin "panamax-ui-run" '' + #!${stdenv.shell} + + cd ${panamax_ui}/share/panamax-ui + export PATH="${panamax_ui}/share/panamax-ui/bin:${ruby}/bin:$PATH" + export RAILS_ENV="production" + export HOME="${panamax_ui}/share/panamax-ui" + export GEM_HOME="${panamax_ui}/share/panamax-ui" + export GEM_PATH="${panamax_ui}/share/panamax-ui" + + echo ${panamax_ui}/share/panamax-ui + + mkdir -p ${dataDir}/state/log + mkdir -p ${dataDir}/state/tmp + mkdir -p ${dataDir}/db + + export PMX_API_PORT_3000_TCP_ADDR=localhost + bin/rails server $@ + ''; + +in + stdenv.mkDerivation rec { + name = panamax_ui.name; + + unpackPhase = "true"; + + installPhase = '' + mkdir -p $out/bin + ln -s ${panamax_ui_run}/bin/* $out/bin + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/CenturyLinkLabs/panamax-ui; + description = "The Web GUI for Panamax"; + license = licenses.asl20; + maintainers = with maintainers; [ matejc ]; + platforms = platforms.linux; + }; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c1f8ff82253..08232c37b3e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10789,6 +10789,9 @@ let namecoin = callPackage ../applications/misc/namecoin { }; namecoinqt = callPackage ../applications/misc/namecoin/qt.nix { }; + panamax_api = callPackage ../applications/networking/cluster/panamax/api.nix {}; + panamax_ui = callPackage ../applications/networking/cluster/panamax/ui.nix {}; + pcmanfm = callPackage ../applications/misc/pcmanfm { }; shotcut = callPackage ../applications/video/shotcut { mlt = mlt-qt5; }; From ae34f923f7ff67ad9c39fa00ccf812b41426c1f1 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Wed, 7 Jan 2015 02:40:55 +0100 Subject: [PATCH 094/248] panamax: simplify, refactor, add test --- nixos/modules/services/cluster/panamax.nix | 51 ++++- nixos/release.nix | 1 + nixos/tests/panamax.nix | 18 ++ .../networking/cluster/panamax/api.nix | 185 +++++++----------- .../networking/cluster/panamax/ui.nix | 157 ++++++--------- pkgs/top-level/all-packages.nix | 8 +- 6 files changed, 197 insertions(+), 223 deletions(-) create mode 100644 nixos/tests/panamax.nix diff --git a/nixos/modules/services/cluster/panamax.nix b/nixos/modules/services/cluster/panamax.nix index 011a1e3666b..a7233f23c91 100644 --- a/nixos/modules/services/cluster/panamax.nix +++ b/nixos/modules/services/cluster/panamax.nix @@ -5,8 +5,8 @@ with lib; let cfg = config.services.panamax; - panamax_api = pkgs.panamax_api.override { dataDir = cfg.dataDir+"/api"; }; - panamax_ui = pkgs.panamax_ui.override { dataDir = cfg.dataDir+"/ui"; }; + panamax_api = pkgs.panamax_api.override { dataDir = cfg.dataDir + "/api"; }; + panamax_ui = pkgs.panamax_ui.override { dataDir = cfg.dataDir + "/ui"; }; in { @@ -48,7 +48,7 @@ in { type = types.str; default = "http://127.0.0.1:4001"; description = '' - Fleetctl endpoint. + Panamax fleetctl endpoint. ''; }; @@ -56,7 +56,7 @@ in { type = types.str; default = "http://127.0.0.1:19531"; description = '' - Journal endpoint. + Panamax journal endpoint. ''; }; @@ -64,7 +64,7 @@ in { type = types.str; default = "SomethingVeryLong."; description = '' - Secret key (do change this). + Panamax secret key (do change this). ''; }; @@ -72,33 +72,64 @@ in { ##### Implementation config = mkIf cfg.enable { - systemd.services.panamax_api = { + systemd.services.panamax-api = { description = "Panamax API"; + wantedBy = [ "multi-user.target" ]; after = [ "network.target" "fleet.service" "etcd.service" "docker.service" ]; + + path = [ panamax_api ]; environment = { + RAILS_ENV = "production"; JOURNAL_ENDPOINT = cfg.journalEndpoint; FLEETCTL_ENDPOINT = cfg.fleetctlEndpoint; + PANAMAX_DATABASE_PATH = "${cfg.dataDir}/api/db/mnt/db.sqlite3"; }; - preStart = "${panamax_api}/bin/panamax-api-init"; + + preStart = '' + rm -rf ${cfg.dataDir}/state/tmp + mkdir -p ${cfg.dataDir}/api/{db/mnt,state/log,state/tmp} + ln -sf ${panamax_api}/share/panamax-api/_db/{schema.rb,seeds.rb,migrate} ${cfg.dataDir}/api/db/ + + if [ ! -f ${cfg.dataDir}/.created ]; then + bundle exec rake db:setup + bundle exec rake db:seed + bundle exec rake panamax:templates:load || true + touch ${cfg.dataDir}/.created + else + bundle exec rake db:migrate + fi + ''; + serviceConfig = { - ExecStart = "${panamax_api}/bin/panamax-api-run --port ${toString cfg.APIPort}"; + ExecStart = "${panamax_api}/bin/bundle exec rails server --binding 127.0.0.1 --port ${toString cfg.APIPort}"; User = "panamax"; Group = "panamax"; }; }; - systemd.services.panamax_ui = { + systemd.services.panamax-ui = { description = "Panamax UI"; + wantedBy = [ "multi-user.target" ]; after = [ "network.target" "panamax_api.service" ]; + + path = [ panamax_ui ]; environment = { + RAILS_ENV = "production"; JOURNAL_ENDPOINT = cfg.journalEndpoint; + PMX_API_PORT_3000_TCP_ADDR = "localhost"; PMX_API_PORT_3000_TCP_PORT = toString cfg.APIPort; SECRET_KEY_BASE = cfg.secretKey; }; + + preStart = '' + rm -rf ${cfg.dataDir}/state/tmp + mkdir -p ${cfg.dataDir}/ui/state/{log,tmp} + ''; + serviceConfig = { - ExecStart = "${panamax_ui}/bin/panamax-ui-run --port ${toString cfg.UIPort}"; + ExecStart = "${panamax_ui}/bin/bundle exec rails server --binding 127.0.0.1 --port ${toString cfg.UIPort}"; User = "panamax"; Group = "panamax"; }; diff --git a/nixos/release.nix b/nixos/release.nix index ca12a03f835..1bd3ec57731 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -300,6 +300,7 @@ in rec { tests.nfs3 = callTest tests/nfs.nix { version = 3; }; tests.nsd = callTest tests/nsd.nix {}; tests.openssh = callTest tests/openssh.nix {}; + tests.panamax = scrubDrv (import tests/panamax.nix { system = "x86_64-linux"; }); tests.peerflix = callTest tests/peerflix.nix {}; tests.printing = callTest tests/printing.nix {}; tests.proxy = callTest tests/proxy.nix {}; diff --git a/nixos/tests/panamax.nix b/nixos/tests/panamax.nix new file mode 100644 index 00000000000..80af8a19be1 --- /dev/null +++ b/nixos/tests/panamax.nix @@ -0,0 +1,18 @@ +import ./make-test.nix { + name = "panamax"; + + machine = { config, pkgs, ... }: { + services.panamax.enable = true; + }; + + testScript = + '' + startAll; + $machine->waitForUnit("panamax-api.service"); + $machine->waitForUnit("panamax-ui.service"); + $machine->waitForOpenPort(3000); + $machine->waitForOpenPort(8888); + $machine->succeed("curl --fail http://localhost:8888/ > /dev/null"); + $machine->shutdown; + ''; +} diff --git a/pkgs/applications/networking/cluster/panamax/api.nix b/pkgs/applications/networking/cluster/panamax/api.nix index 80e515873d3..6345e7fd10b 100644 --- a/pkgs/applications/networking/cluster/panamax/api.nix +++ b/pkgs/applications/networking/cluster/panamax/api.nix @@ -1,139 +1,86 @@ -{ stdenv, buildEnv, fetchgit, fetchurl, ruby_2_1, rubygemsFun, libxslt, libxml2 -, sqlite, openssl, cacert, writeScriptBin, docker +{ stdenv, buildEnv, fetchgit, fetchurl, makeWrapper +, ruby, rubygemsFun, libxslt, libxml2, sqlite, openssl, cacert, docker , dataDir ? "/var/lib/panamax-api" }: + +with stdenv.lib; + let - ruby = ruby_2_1; - rubygems = rubygemsFun ruby_2_1; + database_yml = builtins.toFile "database.yml" '' + production: + adapter: sqlite3 + database: <%= ENV["PANAMAX_DATABASE_PATH"] || "${dataDir}/db/mnt/db.sqlite3" %> + timeout: 5000 + ''; + +in stdenv.mkDerivation rec { + name = "panamax-api-${version}"; + version = "0.2.11"; + + bundler = fetchurl { + url = "http://rubygems.org/downloads/bundler-1.7.9.gem"; + sha256 = "1gd201rh17xykab9pbqp0dkxfm7b9jri02llyvmrc0c5bz2vhycm"; + }; + + src = fetchgit { + rev = "refs/tags/v${version}"; + url = "git://github.com/CenturyLinkLabs/panamax-api"; + sha256 = "01sz7jibn1rqfga85pr4p8wk6jfldzfaxj1726vs6znmcwhfkcgj"; + }; gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile-api.nix); - srcs = { - bundler = fetchurl { - url = "http://rubygems.org/downloads/bundler-1.7.9.gem"; - sha256 = "1gd201rh17xykab9pbqp0dkxfm7b9jri02llyvmrc0c5bz2vhycm"; - }; - }; + buildInputs = [ makeWrapper sqlite openssl ruby (rubygemsFun ruby) ]; - panamax_api = stdenv.mkDerivation rec { - name = "panamax-api-${version}"; - version = "0.2.11"; + setSourceRoot = '' + mkdir -p $out/share + cp -R git-export $out/share/panamax-api + export sourceRoot="$out/share/panamax-api" + ''; - src = fetchgit { - rev = "refs/tags/v${version}"; - url = "git://github.com/CenturyLinkLabs/panamax-api"; - sha256 = "01sz7jibn1rqfga85pr4p8wk6jfldzfaxj1726vs6znmcwhfkcgj"; - }; - - buildInputs = [ sqlite openssl ruby ]; - - installPhase = '' - mkdir -p $out/share/panamax-api - cp -R . $out/share/panamax-api - cd $out/share/panamax-api - - export HOME=$PWD - export GEM_HOME=$PWD - export PATH="${rubygems}/bin:$PATH" - export RAILS_ENV=production - - find . -type f -exec sed -e 's|/usr/bin/docker|${docker}/bin/docker|g' -i "{}" \; - - mkdir -p vendor/cache - ${stdenv.lib.concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)} - - ${"ln -s ${srcs.bundler} vendor/cache/${srcs.bundler.name};"} - gem install --local vendor/cache/${srcs.bundler.name} - - ln -sf ${database_yml} config/database.yml - - - bin/bundle install -j4 --verbose --local --deployment - - rm -f ./bin/* - - ./gems/bundler-*/bin/bundle exec rake rails:update:bin - - rm -rf log - ln -sf ${dataDir}/state/log . - ln -sf ${dataDir}/state/tmp . - mv ./db ./_db - ln -sf ${dataDir}/db . - ''; - }; - - panamax_api_init = writeScriptBin "panamax-api-init" '' - #!${stdenv.shell} - - test -d ${dataDir}/db && exit 0 - - cd ${panamax_api}/share/panamax-api + postPatch = '' + find . -type f -exec sed -e 's|/usr/bin/docker|${docker}/bin/docker|g' -i "{}" \; + ''; + configurePhase = '' export HOME=$PWD export GEM_HOME=$PWD - export PATH="${panamax_api}/share/panamax-api/bin:${ruby}/bin:$PATH" - export OPENSSL_X509_CERT_FILE="${cacert}/etc/ca-bundle.crt" export RAILS_ENV=production - mkdir -p ${dataDir}/state/log - mkdir -p ${dataDir}/db/mnt - ln -sf ${panamax_api}/share/panamax-api/_db/schema.rb ${dataDir}/db/ - ln -sf ${panamax_api}/share/panamax-api/_db/seeds.rb ${dataDir}/db/ - ln -sf ${panamax_api}/share/panamax-api/_db/migrate ${dataDir}/db/ - - bundle exec rake db:setup - bundle exec rake db:seed - bundle exec rake panamax:templates:load + mkdir -p vendor/cache + ${concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)} + ln -s ${bundler} vendor/cache/${bundler.name} + ln -sf ${database_yml} config/database.yml ''; - panamax_api_run = writeScriptBin "panamax-api-run" '' - #!${stdenv.shell} - cd ${panamax_api}/share/panamax-api - mkdir -p ${dataDir}/state/tmp - export HOME=$PWD - export GEM_HOME=$PWD - export PATH="${panamax_api}/share/panamax-api/bin:${ruby}/bin:${docker}/bin:$PATH" - export RAILS_ENV=production - export SSL_CERT_FILE="${cacert}/etc/ca-bundle.crt" - bin/bundle exec rails s $@ + buildPhase = '' + gem install --local vendor/cache/${bundler.name} + bin/bundle install -j4 --verbose --local --deployment --without development test ''; - database_yml = builtins.toFile "database.yml" '' - development: - adapter: sqlite3 - database: ${dataDir}/db/mnt/development.sqlite3 - pool: 5 - timeout: 5000 + installPhase = '' + rm -rf log tmp + mv ./db ./_db + ln -sf ${dataDir}/{db,state/log,state/tmp} . - # See corresponding schema load in spec/support/in_memory_database - test: - adapter: sqlite3 - database: ":memory:" - verbosity: quiet - - production: - adapter: sqlite3 - database: ${dataDir}/db/mnt/production.sqlite3 - pool: 5 - timeout: 5000 + mkdir -p $out/bin + makeWrapper bin/bundle "$out/bin/bundle" \ + --run "cd $out/share/panamax-api" \ + --prefix "PATH" : "$out/share/panamax-api/bin:${ruby}/bin:$PATH" \ + --prefix "HOME" : "$out/share/panamax-api" \ + --prefix "GEM_HOME" : "$out/share/panamax-api" \ + --prefix "OPENSSL_X509_CERT_FILE" : "${cacert}/etc/ca-bundle.crt" \ + --prefix "SSL_CERT_FILE" : "${cacert}/etc/ca-bundle.crt" ''; -in - stdenv.mkDerivation rec { - name = panamax_api.name; + postFixup = '' + rm -r vendor/cache/* + ''; - unpackPhase = "true"; - - installPhase = '' - mkdir -p $out/bin - ln -s ${panamax_api_init}/bin/* $out/bin - ln -s ${panamax_api_run}/bin/* $out/bin - ''; - - meta = with stdenv.lib; { - homepage = https://github.com/CenturyLinkLabs/panamax-api; - description = "The API behind The Panamax UI"; - license = licenses.asl20; - maintainers = with maintainers; [ matejc ]; - platforms = platforms.linux; - }; - } + meta = with stdenv.lib; { + homepage = https://github.com/CenturyLinkLabs/panamax-api; + description = "The API behind The Panamax UI"; + license = licenses.asl20; + maintainers = with maintainers; [ matejc offline ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/cluster/panamax/ui.nix b/pkgs/applications/networking/cluster/panamax/ui.nix index bc520f60d6d..3181fb976e0 100644 --- a/pkgs/applications/networking/cluster/panamax/ui.nix +++ b/pkgs/applications/networking/cluster/panamax/ui.nix @@ -1,101 +1,74 @@ -{ stdenv, buildEnv, fetchgit, fetchurl, ruby_2_1, rubygemsFun -, libxml2, libxslt, openssl, writeScriptBin, sqlite -, dataDir ? "/var/lib/panamax-ui" }: -let - ruby = ruby_2_1; - rubygems = rubygemsFun ruby_2_1; +{ stdenv, fetchgit, fetchurl, makeWrapper +, ruby, rubygemsFun, openssl, sqlite, dataDir ? "/var/lib/panamax-ui"}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "panamax-ui-${version}"; + version = "0.2.11"; + + bundler = fetchurl { + url = "http://rubygems.org/downloads/bundler-1.7.9.gem"; + sha256 = "1gd201rh17xykab9pbqp0dkxfm7b9jri02llyvmrc0c5bz2vhycm"; + }; + + src = fetchgit { + rev = "refs/tags/v${version}"; + url = "git://github.com/CenturyLinkLabs/panamax-ui"; + sha256 = "17j5ac8fzp377bzg7f239jdcc9j0c63bkx0ill5nl10i3h05z7jh"; + }; gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile-ui.nix); - srcs = { - bundler = fetchurl { - url = "http://rubygems.org/downloads/bundler-1.7.9.gem"; - sha256 = "1gd201rh17xykab9pbqp0dkxfm7b9jri02llyvmrc0c5bz2vhycm"; - }; - }; + buildInputs = [ makeWrapper ruby openssl sqlite (rubygemsFun ruby) ]; - panamax_ui = stdenv.mkDerivation rec { - name = "panamax-ui-${version}"; - version = "0.2.11"; - - src = fetchgit { - rev = "refs/tags/v${version}"; - url = "git://github.com/CenturyLinkLabs/panamax-ui"; - sha256 = "17j5ac8fzp377bzg7f239jdcc9j0c63bkx0ill5nl10i3h05z7jh"; - }; - - buildInputs = [ ruby openssl sqlite ]; - installPhase = '' - mkdir -p $out/share/panamax-ui - cp -R . $out/share/panamax-ui - cd $out/share/panamax-ui - - find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Journal|NixOS Journal|g' -i "{}" \; - find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Local|NixOS Local|g' -i "{}" \; - find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Host|NixOS Host|g' -i "{}" \; - sed -e 's|CoreOS Local|NixOS Local|g' -i "spec/features/manage_application_spec.rb" - - export HOME=$PWD - export GEM_HOME=$PWD - export PATH="${rubygems}/bin:$PATH" - - mkdir -p vendor/cache - ${stdenv.lib.concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)} - - ${"ln -s ${srcs.bundler} vendor/cache/${srcs.bundler.name};"} - gem install --local vendor/cache/${srcs.bundler.name} - - bin/bundle install --verbose --local --without development test - - rm -f ./bin/* - - ./gems/bundler-*/bin/bundle exec rake rails:update:bin - - rm -rf log - ln -sf ${dataDir}/state/log . - rm -rf tmp - ln -sf ${dataDir}/state/tmp . - rm -rf db - ln -sf ${dataDir}/db . - ''; - }; - - panamax_ui_run = writeScriptBin "panamax-ui-run" '' - #!${stdenv.shell} - - cd ${panamax_ui}/share/panamax-ui - export PATH="${panamax_ui}/share/panamax-ui/bin:${ruby}/bin:$PATH" - export RAILS_ENV="production" - export HOME="${panamax_ui}/share/panamax-ui" - export GEM_HOME="${panamax_ui}/share/panamax-ui" - export GEM_PATH="${panamax_ui}/share/panamax-ui" - - echo ${panamax_ui}/share/panamax-ui - - mkdir -p ${dataDir}/state/log - mkdir -p ${dataDir}/state/tmp - mkdir -p ${dataDir}/db - - export PMX_API_PORT_3000_TCP_ADDR=localhost - bin/rails server $@ + setSourceRoot = '' + mkdir -p $out/share + cp -R git-export $out/share/panamax-ui + export sourceRoot="$out/share/panamax-ui" ''; -in - stdenv.mkDerivation rec { - name = panamax_ui.name; + postPatch = '' + find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Journal|NixOS Journal|g' -i "{}" \; + find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Local|NixOS Local|g' -i "{}" \; + find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Host|NixOS Host|g' -i "{}" \; + sed -e 's|CoreOS Local|NixOS Local|g' -i "spec/features/manage_application_spec.rb" + ''; - unpackPhase = "true"; + configurePhase = '' + export HOME=$PWD + export GEM_HOME=$PWD - installPhase = '' - mkdir -p $out/bin - ln -s ${panamax_ui_run}/bin/* $out/bin - ''; + mkdir -p vendor/cache + ${concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)} + ln -s ${bundler} vendor/cache/${bundler.name} + ''; - meta = with stdenv.lib; { - homepage = https://github.com/CenturyLinkLabs/panamax-ui; - description = "The Web GUI for Panamax"; - license = licenses.asl20; - maintainers = with maintainers; [ matejc ]; - platforms = platforms.linux; - }; - } + buildPhase = '' + gem install --local vendor/cache/${bundler.name} + bin/bundle install --verbose --local --without development test + rm -f ./bin/* + ruby ./gems/bundler-*/bin/bundle exec rake rails:update:bin + ''; + + installPhase = '' + rm -rf log tmp db + ln -sf ${dataDir}/{db,state/log,state/tmp} . + + mkdir -p $out/bin + makeWrapper bin/bundle "$out/bin/bundle" \ + --run "cd $out/share/panamax-ui" \ + --prefix "PATH" : "$out/share/panamax-ui/bin:${ruby}/bin:$PATH" \ + --prefix "HOME" : "$out/share/panamax-ui" \ + --prefix "GEM_HOME" : "$out/share/panamax-ui" \ + --prefix "GEM_PATH" : "$out/share/panamax-ui" + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/CenturyLinkLabs/panamax-ui; + description = "The Web GUI for Panamax"; + license = licenses.asl20; + maintainers = with maintainers; [ matejc offline ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 08232c37b3e..4ddbf8b155d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10789,8 +10789,12 @@ let namecoin = callPackage ../applications/misc/namecoin { }; namecoinqt = callPackage ../applications/misc/namecoin/qt.nix { }; - panamax_api = callPackage ../applications/networking/cluster/panamax/api.nix {}; - panamax_ui = callPackage ../applications/networking/cluster/panamax/ui.nix {}; + panamax_api = callPackage ../applications/networking/cluster/panamax/api.nix { + ruby = ruby_2_1; + }; + panamax_ui = callPackage ../applications/networking/cluster/panamax/ui.nix { + ruby = ruby_2_1; + }; pcmanfm = callPackage ../applications/misc/pcmanfm { }; From 8967a2b32de5d3df5a4f3c9cbafe819bbc6f9978 Mon Sep 17 00:00:00 2001 From: Matej Cotman Date: Sat, 7 Feb 2015 15:26:16 +0100 Subject: [PATCH 095/248] panamax: rewrite using 'pleasent ruby' --- .../networking/cluster/panamax/Gemfile-api | 23 + .../cluster/panamax/Gemfile-api.lock | 164 ++++ .../cluster/panamax/Gemfile-api.nix | 362 --------- .../networking/cluster/panamax/Gemfile-ui | 30 + .../cluster/panamax/Gemfile-ui.lock | 217 +++++ .../networking/cluster/panamax/Gemfile-ui.nix | 482 ----------- .../networking/cluster/panamax/api.nix | 45 +- .../networking/cluster/panamax/gemset-api.nix | 571 +++++++++++++ .../networking/cluster/panamax/gemset-ui.nix | 760 ++++++++++++++++++ .../networking/cluster/panamax/ui.nix | 39 +- 10 files changed, 1800 insertions(+), 893 deletions(-) create mode 100644 pkgs/applications/networking/cluster/panamax/Gemfile-api create mode 100644 pkgs/applications/networking/cluster/panamax/Gemfile-api.lock delete mode 100644 pkgs/applications/networking/cluster/panamax/Gemfile-api.nix create mode 100644 pkgs/applications/networking/cluster/panamax/Gemfile-ui create mode 100644 pkgs/applications/networking/cluster/panamax/Gemfile-ui.lock delete mode 100644 pkgs/applications/networking/cluster/panamax/Gemfile-ui.nix create mode 100644 pkgs/applications/networking/cluster/panamax/gemset-api.nix create mode 100644 pkgs/applications/networking/cluster/panamax/gemset-ui.nix diff --git a/pkgs/applications/networking/cluster/panamax/Gemfile-api b/pkgs/applications/networking/cluster/panamax/Gemfile-api new file mode 100644 index 00000000000..82085aa6db0 --- /dev/null +++ b/pkgs/applications/networking/cluster/panamax/Gemfile-api @@ -0,0 +1,23 @@ +source 'https://rubygems.org' + +gem 'rails', '4.1.7' +gem 'puma', '2.8.2' +gem 'sqlite3', '1.3.9' +gem 'faraday_middleware', '0.9.0' +gem 'docker-api', '1.13.0', require: 'docker' +gem 'fleet-api', '0.6.0', require: 'fleet' +gem 'active_model_serializers', '0.9.0' +gem 'octokit', '3.2.0' +gem 'kmts', '2.0.1' + +group :test, :development do + gem 'rspec-rails' + gem 'its' +end + +group :test do + gem 'coveralls', '0.7.0' + gem 'shoulda-matchers', '2.6.1' + gem 'database_cleaner', '1.3.0' + gem 'webmock', '1.20.0' +end diff --git a/pkgs/applications/networking/cluster/panamax/Gemfile-api.lock b/pkgs/applications/networking/cluster/panamax/Gemfile-api.lock new file mode 100644 index 00000000000..e0ebe72132b --- /dev/null +++ b/pkgs/applications/networking/cluster/panamax/Gemfile-api.lock @@ -0,0 +1,164 @@ +GEM + remote: https://rubygems.org/ + specs: + actionmailer (4.1.7) + actionpack (= 4.1.7) + actionview (= 4.1.7) + mail (~> 2.5, >= 2.5.4) + actionpack (4.1.7) + actionview (= 4.1.7) + activesupport (= 4.1.7) + rack (~> 1.5.2) + rack-test (~> 0.6.2) + actionview (4.1.7) + activesupport (= 4.1.7) + builder (~> 3.1) + erubis (~> 2.7.0) + active_model_serializers (0.9.0) + activemodel (>= 3.2) + activemodel (4.1.7) + activesupport (= 4.1.7) + builder (~> 3.1) + activerecord (4.1.7) + activemodel (= 4.1.7) + activesupport (= 4.1.7) + arel (~> 5.0.0) + activesupport (4.1.7) + i18n (~> 0.6, >= 0.6.9) + json (~> 1.7, >= 1.7.7) + minitest (~> 5.1) + thread_safe (~> 0.1) + tzinfo (~> 1.1) + addressable (2.3.6) + archive-tar-minitar (0.5.2) + arel (5.0.1.20140414130214) + builder (3.2.2) + coveralls (0.7.0) + multi_json (~> 1.3) + rest-client + simplecov (>= 0.7) + term-ansicolor + thor + crack (0.4.2) + safe_yaml (~> 1.0.0) + database_cleaner (1.3.0) + diff-lcs (1.2.5) + docile (1.1.5) + docker-api (1.13.0) + archive-tar-minitar + excon (>= 0.37.0) + json + erubis (2.7.0) + excon (0.37.0) + faraday (0.8.9) + multipart-post (~> 1.2.0) + faraday_middleware (0.9.0) + faraday (>= 0.7.4, < 0.9) + fleet-api (0.6.0) + faraday (= 0.8.9) + faraday_middleware (= 0.9.0) + hike (1.2.3) + i18n (0.6.11) + its (0.2.0) + rspec-core + json (1.8.1) + kmts (2.0.1) + mail (2.6.3) + mime-types (>= 1.16, < 3) + mime-types (2.4.3) + minitest (5.4.3) + multi_json (1.10.1) + multipart-post (1.2.0) + octokit (3.2.0) + sawyer (~> 0.5.3) + puma (2.8.2) + rack (>= 1.1, < 2.0) + rack (1.5.2) + rack-test (0.6.2) + rack (>= 1.0) + rails (4.1.7) + actionmailer (= 4.1.7) + actionpack (= 4.1.7) + actionview (= 4.1.7) + activemodel (= 4.1.7) + activerecord (= 4.1.7) + activesupport (= 4.1.7) + bundler (>= 1.3.0, < 2.0) + railties (= 4.1.7) + sprockets-rails (~> 2.0) + railties (4.1.7) + actionpack (= 4.1.7) + activesupport (= 4.1.7) + rake (>= 0.8.7) + thor (>= 0.18.1, < 2.0) + rake (10.4.0) + rest-client (1.6.7) + mime-types (>= 1.16) + rspec-core (3.1.7) + rspec-support (~> 3.1.0) + rspec-expectations (3.1.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.1.0) + rspec-mocks (3.1.3) + rspec-support (~> 3.1.0) + rspec-rails (3.1.0) + actionpack (>= 3.0) + activesupport (>= 3.0) + railties (>= 3.0) + rspec-core (~> 3.1.0) + rspec-expectations (~> 3.1.0) + rspec-mocks (~> 3.1.0) + rspec-support (~> 3.1.0) + rspec-support (3.1.2) + safe_yaml (1.0.4) + sawyer (0.5.4) + addressable (~> 2.3.5) + faraday (~> 0.8, < 0.10) + shoulda-matchers (2.6.1) + activesupport (>= 3.0.0) + simplecov (0.9.1) + docile (~> 1.1.0) + multi_json (~> 1.0) + simplecov-html (~> 0.8.0) + simplecov-html (0.8.0) + sprockets (2.12.3) + hike (~> 1.2) + multi_json (~> 1.0) + rack (~> 1.0) + tilt (~> 1.1, != 1.3.0) + sprockets-rails (2.2.0) + actionpack (>= 3.0) + activesupport (>= 3.0) + sprockets (>= 2.8, < 4.0) + sqlite3 (1.3.9) + term-ansicolor (1.3.0) + tins (~> 1.0) + thor (0.19.1) + thread_safe (0.3.4) + tilt (1.4.1) + tins (1.3.0) + tzinfo (1.2.2) + thread_safe (~> 0.1) + webmock (1.20.0) + addressable (>= 2.3.6) + crack (>= 0.3.2) + +PLATFORMS + ruby + +DEPENDENCIES + active_model_serializers (= 0.9.0) + coveralls (= 0.7.0) + database_cleaner (= 1.3.0) + docker-api (= 1.13.0) + faraday_middleware (= 0.9.0) + fleet-api (= 0.6.0) + its + kmts (= 2.0.1) + octokit (= 3.2.0) + puma (= 2.8.2) + rails (= 4.1.7) + rspec-rails + shoulda-matchers (= 2.6.1) + sqlite3 (= 1.3.9) + webmock (= 1.20.0) diff --git a/pkgs/applications/networking/cluster/panamax/Gemfile-api.nix b/pkgs/applications/networking/cluster/panamax/Gemfile-api.nix deleted file mode 100644 index 94074f9d744..00000000000 --- a/pkgs/applications/networking/cluster/panamax/Gemfile-api.nix +++ /dev/null @@ -1,362 +0,0 @@ -[ -{ -name = "actionmailer"; -hash = "05f36cd4897fd9229d89b09838edf0836dadab1065a2503a23eddd25a72a5b62"; -url = "http://rubygems.org/downloads/actionmailer-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "actionpack"; -hash = "5dfd227ed14e755db89f3fe3778271a280560bf5550323309d3d190880b7c11f"; -url = "http://rubygems.org/downloads/actionpack-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "actionview"; -hash = "5d8d50df260f7c0f65ee71fb0dcc8bb344b78d0ff7d26de4b152d8ebde19571b"; -url = "http://rubygems.org/downloads/actionview-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "active_model_serializers"; -hash = "744e1a710f6fd44f9140152bbce911c6705e59fdfc29300f3fa152ce477f43f3"; -url = "http://rubygems.org/downloads/active_model_serializers-0.9.0.gem"; -version = "0.9.0"; -} -{ -name = "activemodel"; -hash = "590288279d69fd6fba3a227275ca80a90131eb04e8d1381fbc7a1f5ac4ff9866"; -url = "http://rubygems.org/downloads/activemodel-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "activerecord"; -hash = "c52f2d21892a38c0817cafa0028f65217f5986a57921fdd2af7cc92a46059948"; -url = "http://rubygems.org/downloads/activerecord-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "activesupport"; -hash = "7a0d7b9c6e68b4cd01f9d686596aaf6671b0b16395cb97862f779666ccaf238e"; -url = "http://rubygems.org/downloads/activesupport-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "addressable"; -hash = "e822c28133d151d450778bbcf1f6e7742d4c3aba54498eb0da33d80a3990ee8c"; -url = "http://rubygems.org/downloads/addressable-2.3.6.gem"; -version = "2.3.6"; -} -{ -name = "archive-tar-minitar"; -hash = "2fe26844b314b8e2bd52ec16cff90e610b5c19075d1000161f8c8d3cc231c6c8"; -url = "http://rubygems.org/downloads/archive-tar-minitar-0.5.2.gem"; -version = "0.5.2"; -} -{ -name = "arel"; -hash = "c941f07bad89af26e8837c73d8a399b7777c721609f759eda015ed0081601636"; -url = "http://rubygems.org/downloads/arel-5.0.1.20140414130214.gem"; -version = "5.0.1.20140414130214"; -} -{ -name = "builder"; -hash = "62fb9ad70ea42219a0c8d209a30281803712c717df7cb8f5ce5f63b4d489d191"; -url = "http://rubygems.org/downloads/builder-3.2.2.gem"; -version = "3.2.2"; -} -{ -name = "coveralls"; -hash = "449284ddd071e2297d06d0a9d18fe4c2b4027848263b1087d4180fb44e03e36b"; -url = "http://rubygems.org/downloads/coveralls-0.7.0.gem"; -version = "0.7.0"; -} -{ -name = "crack"; -hash = "ea4c34f052106f571235f627f561d28309151c09b841130bb7627c2d522589c6"; -url = "http://rubygems.org/downloads/crack-0.4.2.gem"; -version = "0.4.2"; -} -{ -name = "database_cleaner"; -hash = "f675eb78d4fed65ae1e8503ccef4dfd25f4a3c3702bfb792789720a39a2f82a7"; -url = "http://rubygems.org/downloads/database_cleaner-1.3.0.gem"; -version = "1.3.0"; -} -{ -name = "diff-lcs"; -hash = "a1d3dde665292317a883d319066792e3f0e6a24cade4bc4cc47605d27664c9ed"; -url = "http://rubygems.org/downloads/diff-lcs-1.2.5.gem"; -version = "1.2.5"; -} -{ -name = "docile"; -hash = "5d3ee40b3a6567fe460601f3f4a3e199a98de37434ebfa242d751d0c79181255"; -url = "http://rubygems.org/downloads/docile-1.1.5.gem"; -version = "1.1.5"; -} -{ -name = "docker-api"; -hash = "e65a1a62d0d56c273e279eb96625084f6bca82467de22682539d1efb8e5059e5"; -url = "http://rubygems.org/downloads/docker-api-1.13.0.gem"; -version = "1.13.0"; -} -{ -name = "erubis"; -hash = "63653f5174a7997f6f1d6f465fbe1494dcc4bdab1fb8e635f6216989fb1148ba"; -url = "http://rubygems.org/downloads/erubis-2.7.0.gem"; -version = "2.7.0"; -} -{ -name = "excon"; -hash = "626b862a9f759a669dc62c57ccc8b3fc09c0e24af3431a6c0aa416acab56a717"; -url = "http://rubygems.org/downloads/excon-0.37.0.gem"; -version = "0.37.0"; -} -{ -name = "faraday"; -hash = "289c3b5b57821b52988bdb5178d3e1149741f2bae5fbee2a80bc83feb44ba79d"; -url = "http://rubygems.org/downloads/faraday-0.8.9.gem"; -version = "0.8.9"; -} -{ -name = "faraday_middleware"; -hash = "02b37848159983ed1e4374f46f02325bf0364e8eb1e0a38839d2b4deb4889bcf"; -url = "http://rubygems.org/downloads/faraday_middleware-0.9.0.gem"; -version = "0.9.0"; -} -{ -name = "fleet-api"; -hash = "c6aad769ddd4adafa81f99661bf04e2f7176d05bdd5834e0afe67607d8af6604"; -url = "http://rubygems.org/downloads/fleet-api-0.6.0.gem"; -version = "0.6.0"; -} -{ -name = "hike"; -hash = "154e2f2593845e5bcd8ed2ba3092600c55c6ad8c630722857de3fdaf334ccc44"; -url = "http://rubygems.org/downloads/hike-1.2.3.gem"; -version = "1.2.3"; -} -{ -name = "i18n"; -hash = "b37dda25b30484f2674a851e24ae098a38564a61c976fa91a34bf8fceaa3923b"; -url = "http://rubygems.org/downloads/i18n-0.6.11.gem"; -version = "0.6.11"; -} -{ -name = "its"; -hash = "0ffd70eda8958938f6568141fac1fb8a2b8899abbf2b867f45e4e21b936ebc67"; -url = "http://rubygems.org/downloads/its-0.2.0.gem"; -version = "0.2.0"; -} -{ -name = "json"; -hash = "961bfbbfa9fda1e857e9c791e964e6664e0d43bf687b19669dfbc7cdbc5e0200"; -url = "http://rubygems.org/downloads/json-1.8.1.gem"; -version = "1.8.1"; -} -{ -name = "kmts"; -hash = "1bb5e075232b3ed13aaa01db5e1e8e2638ae3a8aa6aa2254198f0e42304066f2"; -url = "http://rubygems.org/downloads/kmts-2.0.1.gem"; -version = "2.0.1"; -} -{ -name = "mail"; -hash = "d7fee1ec4e4ea9bb38b77de5baf53c17004133efcdff030bd1de5e3620306fd9"; -url = "http://rubygems.org/downloads/mail-2.6.3.gem"; -version = "2.6.3"; -} -{ -name = "mime-types"; -hash = "38f29a89a273d15bfb99e839c6fe5cf7c463f223dd7ac5ee3c9287b1acd6d19a"; -url = "http://rubygems.org/downloads/mime-types-2.4.3.gem"; -version = "2.4.3"; -} -{ -name = "minitest"; -hash = "a41b54b1c6e64b102fe78bf265045896845c38177a10bdb32d04caf4e06542f3"; -url = "http://rubygems.org/downloads/minitest-5.4.3.gem"; -version = "5.4.3"; -} -{ -name = "multi_json"; -hash = "2c98979877e87df0b338ebf5c86091b390f53d62c11a8232bd51ca007e0b82d2"; -url = "http://rubygems.org/downloads/multi_json-1.10.1.gem"; -version = "1.10.1"; -} -{ -name = "multipart-post"; -hash = "ccf26a61706f128a2a3f3745aba0f79fde7b6fee068e03490eb189c2aaa5e78a"; -url = "http://rubygems.org/downloads/multipart-post-1.2.0.gem"; -version = "1.2.0"; -} -{ -name = "octokit"; -hash = "cf8690111a706d493f1ace13c81ce966f6f1ba29bc4d4896d65f9c0d431f941e"; -url = "http://rubygems.org/downloads/octokit-3.2.0.gem"; -version = "3.2.0"; -} -{ -name = "puma"; -hash = "13ac36ce9535ead0b6ebbd540b5fa99ea53126c0f697a5ce96aefb8d5c75a7d0"; -url = "http://rubygems.org/downloads/puma-2.8.2.gem"; -version = "2.8.2"; -} -{ -name = "rack"; -hash = "e64af00234e8faaa69ea81ef4e3800f40743c69560f0dda8fc9969660e775fa7"; -url = "http://rubygems.org/downloads/rack-1.5.2.gem"; -version = "1.5.2"; -} -{ -name = "rack-test"; -hash = "7e920b6aac888e4a3846e5997fb1cbf456bdb5846322b58dc31697a54a38b306"; -url = "http://rubygems.org/downloads/rack-test-0.6.2.gem"; -version = "0.6.2"; -} -{ -name = "rails"; -hash = "20972f5ce418d5b938afa42680bcbe8c52770c0664429233fa0e567a25bd3515"; -url = "http://rubygems.org/downloads/rails-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "railties"; -hash = "dfa7ef2174675c88492c62596bfe6d8aa78f3735305aaa372d5801f9328008d8"; -url = "http://rubygems.org/downloads/railties-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "rake"; -hash = "887f72d6711c31576abab37f1f7db45972402cc8544fa9a67c06d2c0f0ef2028"; -url = "http://rubygems.org/downloads/rake-10.4.0.gem"; -version = "10.4.0"; -} -{ -name = "rest-client"; -hash = "a3203433b8b0c914648caea54395a8791a61e0df7d401c81f4e2b7f8a8fac75a"; -url = "http://rubygems.org/downloads/rest-client-1.6.7.gem"; -version = "1.6.7"; -} -{ -name = "rspec-core"; -hash = "89e1aed9b8b1c22d4bc0cbed25e163c10075731df87e2ea9736f1863e9e66a05"; -url = "http://rubygems.org/downloads/rspec-core-3.1.7.gem"; -version = "3.1.7"; -} -{ -name = "rspec-expectations"; -hash = "f0db34c6b7f351031880e08e59c8902f0f037b0e0f7e52345b978667b9190d55"; -url = "http://rubygems.org/downloads/rspec-expectations-3.1.2.gem"; -version = "3.1.2"; -} -{ -name = "rspec-mocks"; -hash = "f9d76c70a9c38171cdce7a64b871739cf73ec8647d6b70adfe44453a072fb33f"; -url = "http://rubygems.org/downloads/rspec-mocks-3.1.3.gem"; -version = "3.1.3"; -} -{ -name = "rspec-rails"; -hash = "980fa827218f483a0efb5d22922b53b1006cbd58e38ec593bb2bb016ecb031ac"; -url = "http://rubygems.org/downloads/rspec-rails-3.1.0.gem"; -version = "3.1.0"; -} -{ -name = "rspec-support"; -hash = "2b5fc899bb71019b7ed956105e8492c90f077641309d9c7c0e09669a72dac693"; -url = "http://rubygems.org/downloads/rspec-support-3.1.2.gem"; -version = "3.1.2"; -} -{ -name = "safe_yaml"; -hash = "248193992ef1730a0c9ec579999ef2256a2b3a32a9bd9d708a1e12544a489ec2"; -url = "http://rubygems.org/downloads/safe_yaml-1.0.4.gem"; -version = "1.0.4"; -} -{ -name = "sawyer"; -hash = "5bf41b23f93568f14ffdfe6d0d417048f2eb7e9ed11695a7654a3de0ee277406"; -url = "http://rubygems.org/downloads/sawyer-0.5.4.gem"; -version = "0.5.4"; -} -{ -name = "shoulda-matchers"; -hash = "81554002d29e612e55daf2c45b40b617ad7a2186d8eebaec6946ea46da8672dc"; -url = "http://rubygems.org/downloads/shoulda-matchers-2.6.1.gem"; -version = "2.6.1"; -} -{ -name = "simplecov"; -hash = "ce9ffc797f9e4493bf97bbf5e88073ad7351d8234561b56ea3bd2baa68a71e1a"; -url = "http://rubygems.org/downloads/simplecov-0.9.1.gem"; -version = "0.9.1"; -} -{ -name = "simplecov-html"; -hash = "69393ce932c2898dd5074913e360078f651f094a9b7300b286a78f43b11c164a"; -url = "http://rubygems.org/downloads/simplecov-html-0.8.0.gem"; -version = "0.8.0"; -} -{ -name = "sprockets"; -hash = "c25a4a37c9436e5a2c877b926156bce1826a0156d9cd96ca704ab085726ec2ae"; -url = "http://rubygems.org/downloads/sprockets-2.12.3.gem"; -version = "2.12.3"; -} -{ -name = "sprockets-rails"; -hash = "148ea6c109605093f84725dee46f2943e973cdb602f83b93e540a93d35ee4e10"; -url = "http://rubygems.org/downloads/sprockets-rails-2.2.0.gem"; -version = "2.2.0"; -} -{ -name = "sqlite3"; -hash = "9984744afb5f44ca4a82aec66e257ff60783920afd48f06606d1fb4a9d51a61e"; -url = "http://rubygems.org/downloads/sqlite3-1.3.9.gem"; -version = "1.3.9"; -} -{ -name = "term-ansicolor"; -hash = "8b5caf6839a0c1bbf7a55a9d2fbd3c172f623fa05c427f9b3ea5d75bdfe14fa8"; -url = "http://rubygems.org/downloads/term-ansicolor-1.3.0.gem"; -version = "1.3.0"; -} -{ -name = "thor"; -hash = "9ff834f031b5550c743bb8a3139317fefdae9cdebd02d60de376658f427fe522"; -url = "http://rubygems.org/downloads/thor-0.19.1.gem"; -version = "0.19.1"; -} -{ -name = "thread_safe"; -hash = "16315baa971c48d00104bcd35e8934e3f9ccfd3b8f429e3fca7ee2dfd81734b2"; -url = "http://rubygems.org/downloads/thread_safe-0.3.4.gem"; -version = "0.3.4"; -} -{ -name = "tilt"; -hash = "39820562c4f5db45fe18de87ccc30a0e77a998bf5334b1d8c10a2f7dbc1f5903"; -url = "http://rubygems.org/downloads/tilt-1.4.1.gem"; -version = "1.4.1"; -} -{ -name = "tins"; -hash = "b1ad5c07aef3f26b80f329c701bfedf83f1bc560e7516e0ce284d774fd2caafb"; -url = "http://rubygems.org/downloads/tins-1.3.0.gem"; -version = "1.3.0"; -} -{ -name = "tzinfo"; -hash = "fdb1d3fdf2776d490c82a0e589a08e7cbde70ac1ae7d2b1f0b7e77f3e6b801b0"; -url = "http://rubygems.org/downloads/tzinfo-1.2.2.gem"; -version = "1.2.2"; -} -{ -name = "webmock"; -hash = "d544830ab2203e2796ab55fbee6859d8e248c7e6deeadb4fa74448f63bd8852e"; -url = "http://rubygems.org/downloads/webmock-1.20.0.gem"; -version = "1.20.0"; -} -] diff --git a/pkgs/applications/networking/cluster/panamax/Gemfile-ui b/pkgs/applications/networking/cluster/panamax/Gemfile-ui new file mode 100644 index 00000000000..7efcabfd9e5 --- /dev/null +++ b/pkgs/applications/networking/cluster/panamax/Gemfile-ui @@ -0,0 +1,30 @@ +source 'https://rubygems.org' + +gem 'rails', '4.1.7' +gem 'puma', '2.8.2' +gem 'sass', '3.3.9' +gem 'therubyracer', '0.12.1', platforms: :ruby +gem 'haml', '4.0.5' +gem 'uglifier', '2.5.1' +gem 'ctl_base_ui' +gem 'activeresource', '4.0.0' +gem 'kramdown', '1.4.0' +gem 'zeroclipboard-rails' + + +group :test, :development do + gem 'rspec-rails', '2.14.2' + gem 'capybara', '2.3.0' + gem 'teaspoon', '0.8.0' + gem 'phantomjs', '1.9.7.1' + gem 'dotenv-rails', '0.11.1' + gem 'pry' + gem 'pry-byebug' + gem 'pry-stack_explorer' +end + +group :test do + gem 'webmock', '1.18.0' + gem 'sinatra', '1.4.5' + gem 'coveralls', '0.7.0' +end diff --git a/pkgs/applications/networking/cluster/panamax/Gemfile-ui.lock b/pkgs/applications/networking/cluster/panamax/Gemfile-ui.lock new file mode 100644 index 00000000000..67504f41a86 --- /dev/null +++ b/pkgs/applications/networking/cluster/panamax/Gemfile-ui.lock @@ -0,0 +1,217 @@ +GEM + remote: https://rubygems.org/ + specs: + actionmailer (4.1.7) + actionpack (= 4.1.7) + actionview (= 4.1.7) + mail (~> 2.5, >= 2.5.4) + actionpack (4.1.7) + actionview (= 4.1.7) + activesupport (= 4.1.7) + rack (~> 1.5.2) + rack-test (~> 0.6.2) + actionview (4.1.7) + activesupport (= 4.1.7) + builder (~> 3.1) + erubis (~> 2.7.0) + activemodel (4.1.7) + activesupport (= 4.1.7) + builder (~> 3.1) + activerecord (4.1.7) + activemodel (= 4.1.7) + activesupport (= 4.1.7) + arel (~> 5.0.0) + activeresource (4.0.0) + activemodel (~> 4.0) + activesupport (~> 4.0) + rails-observers (~> 0.1.1) + activesupport (4.1.7) + i18n (~> 0.6, >= 0.6.9) + json (~> 1.7, >= 1.7.7) + minitest (~> 5.1) + thread_safe (~> 0.1) + tzinfo (~> 1.1) + addressable (2.3.6) + arel (5.0.1.20140414130214) + binding_of_caller (0.7.2) + debug_inspector (>= 0.0.1) + builder (3.2.2) + byebug (3.5.1) + columnize (~> 0.8) + debugger-linecache (~> 1.2) + slop (~> 3.6) + capybara (2.3.0) + mime-types (>= 1.16) + nokogiri (>= 1.3.3) + rack (>= 1.0.0) + rack-test (>= 0.5.4) + xpath (~> 2.0) + coderay (1.1.0) + columnize (0.8.9) + coveralls (0.7.0) + multi_json (~> 1.3) + rest-client + simplecov (>= 0.7) + term-ansicolor + thor + crack (0.4.2) + safe_yaml (~> 1.0.0) + ctl_base_ui (0.0.4) + haml (~> 4.0) + jquery-rails (~> 3.1) + jquery-ui-rails (~> 4.2) + rails (~> 4.1) + sass (~> 3.3) + debug_inspector (0.0.2) + debugger-linecache (1.2.0) + diff-lcs (1.2.5) + docile (1.1.5) + dotenv (0.11.1) + dotenv-deployment (~> 0.0.2) + dotenv-deployment (0.0.2) + dotenv-rails (0.11.1) + dotenv (= 0.11.1) + erubis (2.7.0) + execjs (2.2.1) + haml (4.0.5) + tilt + hike (1.2.3) + i18n (0.6.11) + jquery-rails (3.1.2) + railties (>= 3.0, < 5.0) + thor (>= 0.14, < 2.0) + jquery-ui-rails (4.2.1) + railties (>= 3.2.16) + json (1.8.1) + kramdown (1.4.0) + libv8 (3.16.14.7) + mail (2.6.3) + mime-types (>= 1.16, < 3) + method_source (0.8.2) + mime-types (2.4.3) + mini_portile (0.6.0) + minitest (5.4.3) + multi_json (1.10.1) + nokogiri (1.6.2.1) + mini_portile (= 0.6.0) + phantomjs (1.9.7.1) + pry (0.10.1) + coderay (~> 1.1.0) + method_source (~> 0.8.1) + slop (~> 3.4) + pry-byebug (2.0.0) + byebug (~> 3.4) + pry (~> 0.10) + pry-stack_explorer (0.4.9.1) + binding_of_caller (>= 0.7) + pry (>= 0.9.11) + puma (2.8.2) + rack (>= 1.1, < 2.0) + rack (1.5.2) + rack-protection (1.5.3) + rack + rack-test (0.6.2) + rack (>= 1.0) + rails (4.1.7) + actionmailer (= 4.1.7) + actionpack (= 4.1.7) + actionview (= 4.1.7) + activemodel (= 4.1.7) + activerecord (= 4.1.7) + activesupport (= 4.1.7) + bundler (>= 1.3.0, < 2.0) + railties (= 4.1.7) + sprockets-rails (~> 2.0) + rails-observers (0.1.2) + activemodel (~> 4.0) + railties (4.1.7) + actionpack (= 4.1.7) + activesupport (= 4.1.7) + rake (>= 0.8.7) + thor (>= 0.18.1, < 2.0) + rake (10.4.1) + ref (1.0.5) + rest-client (1.6.7) + mime-types (>= 1.16) + rspec-core (2.14.8) + rspec-expectations (2.14.5) + diff-lcs (>= 1.1.3, < 2.0) + rspec-mocks (2.14.6) + rspec-rails (2.14.2) + actionpack (>= 3.0) + activemodel (>= 3.0) + activesupport (>= 3.0) + railties (>= 3.0) + rspec-core (~> 2.14.0) + rspec-expectations (~> 2.14.0) + rspec-mocks (~> 2.14.0) + safe_yaml (1.0.3) + sass (3.3.9) + simplecov (0.9.1) + docile (~> 1.1.0) + multi_json (~> 1.0) + simplecov-html (~> 0.8.0) + simplecov-html (0.8.0) + sinatra (1.4.5) + rack (~> 1.4) + rack-protection (~> 1.4) + tilt (~> 1.3, >= 1.3.4) + slop (3.6.0) + sprockets (2.12.3) + hike (~> 1.2) + multi_json (~> 1.0) + rack (~> 1.0) + tilt (~> 1.1, != 1.3.0) + sprockets-rails (2.2.2) + actionpack (>= 3.0) + activesupport (>= 3.0) + sprockets (>= 2.8, < 4.0) + teaspoon (0.8.0) + railties (>= 3.2.5, < 5) + term-ansicolor (1.3.0) + tins (~> 1.0) + therubyracer (0.12.1) + libv8 (~> 3.16.14.0) + ref + thor (0.19.1) + thread_safe (0.3.4) + tilt (1.4.1) + tins (1.1.0) + tzinfo (1.2.2) + thread_safe (~> 0.1) + uglifier (2.5.1) + execjs (>= 0.3.0) + json (>= 1.8.0) + webmock (1.18.0) + addressable (>= 2.3.6) + crack (>= 0.3.2) + xpath (2.0.0) + nokogiri (~> 1.3) + zeroclipboard-rails (0.1.0) + railties (>= 3.1) + +PLATFORMS + ruby + +DEPENDENCIES + activeresource (= 4.0.0) + capybara (= 2.3.0) + coveralls (= 0.7.0) + ctl_base_ui + dotenv-rails (= 0.11.1) + haml (= 4.0.5) + kramdown (= 1.4.0) + phantomjs (= 1.9.7.1) + pry + pry-byebug + pry-stack_explorer + puma (= 2.8.2) + rails (= 4.1.7) + rspec-rails (= 2.14.2) + sass (= 3.3.9) + sinatra (= 1.4.5) + teaspoon (= 0.8.0) + therubyracer (= 0.12.1) + uglifier (= 2.5.1) + webmock (= 1.18.0) + zeroclipboard-rails diff --git a/pkgs/applications/networking/cluster/panamax/Gemfile-ui.nix b/pkgs/applications/networking/cluster/panamax/Gemfile-ui.nix deleted file mode 100644 index 9fabe820cb3..00000000000 --- a/pkgs/applications/networking/cluster/panamax/Gemfile-ui.nix +++ /dev/null @@ -1,482 +0,0 @@ -[ -{ -name = "actionmailer"; -hash = "05f36cd4897fd9229d89b09838edf0836dadab1065a2503a23eddd25a72a5b62"; -url = "http://rubygems.org/downloads/actionmailer-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "actionpack"; -hash = "5dfd227ed14e755db89f3fe3778271a280560bf5550323309d3d190880b7c11f"; -url = "http://rubygems.org/downloads/actionpack-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "actionview"; -hash = "5d8d50df260f7c0f65ee71fb0dcc8bb344b78d0ff7d26de4b152d8ebde19571b"; -url = "http://rubygems.org/downloads/actionview-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "activemodel"; -hash = "590288279d69fd6fba3a227275ca80a90131eb04e8d1381fbc7a1f5ac4ff9866"; -url = "http://rubygems.org/downloads/activemodel-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "activerecord"; -hash = "c52f2d21892a38c0817cafa0028f65217f5986a57921fdd2af7cc92a46059948"; -url = "http://rubygems.org/downloads/activerecord-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "activeresource"; -hash = "589266ba14c344903c582e82ad39da5f24067f9bcbcf8213d55f7a19e58b8539"; -url = "http://rubygems.org/downloads/activeresource-4.0.0.gem"; -version = "4.0.0"; -} -{ -name = "activesupport"; -hash = "7a0d7b9c6e68b4cd01f9d686596aaf6671b0b16395cb97862f779666ccaf238e"; -url = "http://rubygems.org/downloads/activesupport-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "addressable"; -hash = "e822c28133d151d450778bbcf1f6e7742d4c3aba54498eb0da33d80a3990ee8c"; -url = "http://rubygems.org/downloads/addressable-2.3.6.gem"; -version = "2.3.6"; -} -{ -name = "arel"; -hash = "c941f07bad89af26e8837c73d8a399b7777c721609f759eda015ed0081601636"; -url = "http://rubygems.org/downloads/arel-5.0.1.20140414130214.gem"; -version = "5.0.1.20140414130214"; -} -{ -name = "binding_of_caller"; -hash = "d327682ce1d8e8cc46e282a46052946af0de16bef734014c63df0aac66334f96"; -url = "http://rubygems.org/downloads/binding_of_caller-0.7.2.gem"; -version = "0.7.2"; -} -{ -name = "builder"; -hash = "62fb9ad70ea42219a0c8d209a30281803712c717df7cb8f5ce5f63b4d489d191"; -url = "http://rubygems.org/downloads/builder-3.2.2.gem"; -version = "3.2.2"; -} -{ -name = "byebug"; -hash = "56358e944d1cdb83151d4400631306eb2539b5fdf1b5e784cdd984b14016ac51"; -url = "http://rubygems.org/downloads/byebug-3.5.1.gem"; -version = "3.5.1"; -} -{ -name = "capybara"; -hash = "dac69117b32bbf56d3345e01a04426811e3c576a3216f2eb8bfaf861f527a28b"; -url = "http://rubygems.org/downloads/capybara-2.3.0.gem"; -version = "2.3.0"; -} -{ -name = "coderay"; -hash = "5a943c59e36f7ef9dd2677855735656413af02e3f302431e9c548aabe89f3c15"; -url = "http://rubygems.org/downloads/coderay-1.1.0.gem"; -version = "1.1.0"; -} -{ -name = "columnize"; -hash = "37d6e33624f2e3542667425504d204843788ce52905b2529654ab57d11fe6ab8"; -url = "http://rubygems.org/downloads/columnize-0.8.9.gem"; -version = "0.8.9"; -} -{ -name = "coveralls"; -hash = "449284ddd071e2297d06d0a9d18fe4c2b4027848263b1087d4180fb44e03e36b"; -url = "http://rubygems.org/downloads/coveralls-0.7.0.gem"; -version = "0.7.0"; -} -{ -name = "crack"; -hash = "ea4c34f052106f571235f627f561d28309151c09b841130bb7627c2d522589c6"; -url = "http://rubygems.org/downloads/crack-0.4.2.gem"; -version = "0.4.2"; -} -{ -name = "ctl_base_ui"; -hash = "adb8be85e5bc292af2ee0d5e8482f011d82cc4e65e8270fda1981957015d0d40"; -url = "http://rubygems.org/downloads/ctl_base_ui-0.0.4.gem"; -version = "0.0.4"; -} -{ -name = "debug_inspector"; -hash = "1594188ffd35b9973fa1e048497e4aa63abad0c3cbba0670e17935005e302781"; -url = "http://rubygems.org/downloads/debug_inspector-0.0.2.gem"; -version = "0.0.2"; -} -{ -name = "debugger-linecache"; -hash = "bf5d371a295727c131618e3cd223c6939c51c7bb28ff172477bb340752e89e47"; -url = "http://rubygems.org/downloads/debugger-linecache-1.2.0.gem"; -version = "1.2.0"; -} -{ -name = "diff-lcs"; -hash = "a1d3dde665292317a883d319066792e3f0e6a24cade4bc4cc47605d27664c9ed"; -url = "http://rubygems.org/downloads/diff-lcs-1.2.5.gem"; -version = "1.2.5"; -} -{ -name = "docile"; -hash = "5d3ee40b3a6567fe460601f3f4a3e199a98de37434ebfa242d751d0c79181255"; -url = "http://rubygems.org/downloads/docile-1.1.5.gem"; -version = "1.1.5"; -} -{ -name = "dotenv"; -hash = "35e10cfb1b6ba008f5f1f45b15809c33c424b1fb1ab58d358847cf651af0e027"; -url = "http://rubygems.org/downloads/dotenv-0.11.1.gem"; -version = "0.11.1"; -} -{ -name = "dotenv-deployment"; -hash = "0c7db97431f091e11b88f26fd08d3f1a0570128d5e73a465c0380195b034a6a9"; -url = "http://rubygems.org/downloads/dotenv-deployment-0.0.2.gem"; -version = "0.0.2"; -} -{ -name = "dotenv-rails"; -hash = "1e67a7a949a3336184cf3235cf8d2dc66aca8ae2a7f7594f5c37d210818bd064"; -url = "http://rubygems.org/downloads/dotenv-rails-0.11.1.gem"; -version = "0.11.1"; -} -{ -name = "erubis"; -hash = "63653f5174a7997f6f1d6f465fbe1494dcc4bdab1fb8e635f6216989fb1148ba"; -url = "http://rubygems.org/downloads/erubis-2.7.0.gem"; -version = "2.7.0"; -} -{ -name = "execjs"; -hash = "0bc9e196416a59cf16690ebdcc09ecd3fd692919e93e8245210402cc717a81e8"; -url = "http://rubygems.org/downloads/execjs-2.2.1.gem"; -version = "2.2.1"; -} -{ -name = "haml"; -hash = "05b1cde6e0d770e800cb74f6bf1212446bc4573bbbfecc4002e1085c2658bff6"; -url = "http://rubygems.org/downloads/haml-4.0.5.gem"; -version = "4.0.5"; -} -{ -name = "hike"; -hash = "154e2f2593845e5bcd8ed2ba3092600c55c6ad8c630722857de3fdaf334ccc44"; -url = "http://rubygems.org/downloads/hike-1.2.3.gem"; -version = "1.2.3"; -} -{ -name = "i18n"; -hash = "b37dda25b30484f2674a851e24ae098a38564a61c976fa91a34bf8fceaa3923b"; -url = "http://rubygems.org/downloads/i18n-0.6.11.gem"; -version = "0.6.11"; -} -{ -name = "jquery-rails"; -hash = "7ee42bba07bb858c11d81da798c2bfa3641b5afad5d420445b55d0118b29aa40"; -url = "http://rubygems.org/downloads/jquery-rails-3.1.2.gem"; -version = "3.1.2"; -} -{ -name = "jquery-ui-rails"; -hash = "5b349e7066150b16d7a784183f040c083d51af3357937b8564aa0cc8b1cd59bd"; -url = "http://rubygems.org/downloads/jquery-ui-rails-4.2.1.gem"; -version = "4.2.1"; -} -{ -name = "json"; -hash = "961bfbbfa9fda1e857e9c791e964e6664e0d43bf687b19669dfbc7cdbc5e0200"; -url = "http://rubygems.org/downloads/json-1.8.1.gem"; -version = "1.8.1"; -} -{ -name = "kramdown"; -hash = "00611597850c4c9a0d7e00d4d8cf8eb446b3b9aef8f2b4569b7bf1583df03b00"; -url = "http://rubygems.org/downloads/kramdown-1.4.0.gem"; -version = "1.4.0"; -} -{ -name = "libv8"; -hash = "988948213e992417dffee3cebbcf565c59f1702d539ec202cbc2c117b8205c10"; -url = "http://rubygems.org/downloads/libv8-3.16.14.7-x86_64-linux.gem"; -version = "3.16.14.7"; -} -{ -name = "mail"; -hash = "d7fee1ec4e4ea9bb38b77de5baf53c17004133efcdff030bd1de5e3620306fd9"; -url = "http://rubygems.org/downloads/mail-2.6.3.gem"; -version = "2.6.3"; -} -{ -name = "method_source"; -hash = "c2e9d0f4ebefd6b37efe38fe2964337b1d315fe198cad850681fd2da0027b1bc"; -url = "http://rubygems.org/downloads/method_source-0.8.2.gem"; -version = "0.8.2"; -} -{ -name = "mime-types"; -hash = "38f29a89a273d15bfb99e839c6fe5cf7c463f223dd7ac5ee3c9287b1acd6d19a"; -url = "http://rubygems.org/downloads/mime-types-2.4.3.gem"; -version = "2.4.3"; -} -{ -name = "mini_portile"; -hash = "762b3e241362de24b2eb2bb1b98638399b931e9e51bece5f8e2df7611eb16c26"; -url = "http://rubygems.org/downloads/mini_portile-0.6.0.gem"; -version = "0.6.0"; -} -{ -name = "minitest"; -hash = "a41b54b1c6e64b102fe78bf265045896845c38177a10bdb32d04caf4e06542f3"; -url = "http://rubygems.org/downloads/minitest-5.4.3.gem"; -version = "5.4.3"; -} -{ -name = "multi_json"; -hash = "2c98979877e87df0b338ebf5c86091b390f53d62c11a8232bd51ca007e0b82d2"; -url = "http://rubygems.org/downloads/multi_json-1.10.1.gem"; -version = "1.10.1"; -} -{ -name = "nokogiri"; -hash = "dfb23254b87672a93582981c4ac5880d178ff32db6878fc351d75198aa544836"; -url = "http://rubygems.org/downloads/nokogiri-1.6.2.1.gem"; -version = "1.6.2.1"; -} -{ -name = "phantomjs"; -hash = "87666a234180c69186df0d4a009f5cbbb0de58972f2217ee827affc5bf075a91"; -url = "http://rubygems.org/downloads/phantomjs-1.9.7.1.gem"; -version = "1.9.7.1"; -} -{ -name = "pry"; -hash = "1f4925cdc8d83db67ba9b7ff542f042558c0ceb5579966e0fabc6d0eaa2b19c8"; -url = "http://rubygems.org/downloads/pry-0.10.1.gem"; -version = "0.10.1"; -} -{ -name = "pry-byebug"; -hash = "f8bfffb58c6a37d2ee8edf8896a778b441237df3c90cf9272f64a4c88038669d"; -url = "http://rubygems.org/downloads/pry-byebug-2.0.0.gem"; -version = "2.0.0"; -} -{ -name = "pry-stack_explorer"; -hash = "bfa09ca06ee08121fa34fb4e1eca776c0cb7530a7e96600d9a36e5e6189648a0"; -url = "http://rubygems.org/downloads/pry-stack_explorer-0.4.9.1.gem"; -version = "0.4.9.1"; -} -{ -name = "puma"; -hash = "13ac36ce9535ead0b6ebbd540b5fa99ea53126c0f697a5ce96aefb8d5c75a7d0"; -url = "http://rubygems.org/downloads/puma-2.8.2.gem"; -version = "2.8.2"; -} -{ -name = "rack"; -hash = "e64af00234e8faaa69ea81ef4e3800f40743c69560f0dda8fc9969660e775fa7"; -url = "http://rubygems.org/downloads/rack-1.5.2.gem"; -version = "1.5.2"; -} -{ -name = "rack-protection"; -hash = "b9c08cb17b13c6672ef642cc4855b4c4ba8fcb1f66abc687f03cddf37f106b33"; -url = "http://rubygems.org/downloads/rack-protection-1.5.3.gem"; -version = "1.5.3"; -} -{ -name = "rack-test"; -hash = "7e920b6aac888e4a3846e5997fb1cbf456bdb5846322b58dc31697a54a38b306"; -url = "http://rubygems.org/downloads/rack-test-0.6.2.gem"; -version = "0.6.2"; -} -{ -name = "rails"; -hash = "20972f5ce418d5b938afa42680bcbe8c52770c0664429233fa0e567a25bd3515"; -url = "http://rubygems.org/downloads/rails-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "rails-observers"; -hash = "9e71de73929a9a7e8cde83c041989bbb25914f84047ce15dde37eefa650a5cd3"; -url = "http://rubygems.org/downloads/rails-observers-0.1.2.gem"; -version = "0.1.2"; -} -{ -name = "railties"; -hash = "dfa7ef2174675c88492c62596bfe6d8aa78f3735305aaa372d5801f9328008d8"; -url = "http://rubygems.org/downloads/railties-4.1.7.gem"; -version = "4.1.7"; -} -{ -name = "rake"; -hash = "82cfce8fb9c53bc2d96acc88456056b1ed5aab162b85f9419b7c5f7edbff8690"; -url = "http://rubygems.org/downloads/rake-10.4.1.gem"; -version = "10.4.1"; -} -{ -name = "ref"; -hash = "8a8ec8f40f1e622c4324055d85300e03d9a78a9faf476ea0d382f1af9dbe0fa7"; -url = "http://rubygems.org/downloads/ref-1.0.5.gem"; -version = "1.0.5"; -} -{ -name = "rest-client"; -hash = "a3203433b8b0c914648caea54395a8791a61e0df7d401c81f4e2b7f8a8fac75a"; -url = "http://rubygems.org/downloads/rest-client-1.6.7.gem"; -version = "1.6.7"; -} -{ -name = "rspec-core"; -hash = "8c43f4dbc105ca622e72693c8aed533386580c0fa082bcd280777cda66f1525f"; -url = "http://rubygems.org/downloads/rspec-core-2.14.8.gem"; -version = "2.14.8"; -} -{ -name = "rspec-expectations"; -hash = "c961c9dff8127c1b4ddd24358e5c921f8f09805a92c42ff996e66c39119f28da"; -url = "http://rubygems.org/downloads/rspec-expectations-2.14.5.gem"; -version = "2.14.5"; -} -{ -name = "rspec-mocks"; -hash = "60eca91c74afd5f978eacdd60f4d81ff669910b6c24f023daecc70d364ac9abb"; -url = "http://rubygems.org/downloads/rspec-mocks-2.14.6.gem"; -version = "2.14.6"; -} -{ -name = "rspec-rails"; -hash = "a75c843e8ecfee79b0aeefd392e6f740bc1e48e174bcc292e753846b145c36c9"; -url = "http://rubygems.org/downloads/rspec-rails-2.14.2.gem"; -version = "2.14.2"; -} -{ -name = "safe_yaml"; -hash = "94a36065cd702f8939f928106f63b0e9049d0cddcbf5163ccc430332fdf46b18"; -url = "http://rubygems.org/downloads/safe_yaml-1.0.3.gem"; -version = "1.0.3"; -} -{ -name = "sass"; -hash = "bfce1f74e41f135d32a346dff35358424ddd7062d371f20f487120318edc294c"; -url = "http://rubygems.org/downloads/sass-3.3.9.gem"; -version = "3.3.9"; -} -{ -name = "simplecov"; -hash = "ce9ffc797f9e4493bf97bbf5e88073ad7351d8234561b56ea3bd2baa68a71e1a"; -url = "http://rubygems.org/downloads/simplecov-0.9.1.gem"; -version = "0.9.1"; -} -{ -name = "simplecov-html"; -hash = "69393ce932c2898dd5074913e360078f651f094a9b7300b286a78f43b11c164a"; -url = "http://rubygems.org/downloads/simplecov-html-0.8.0.gem"; -version = "0.8.0"; -} -{ -name = "sinatra"; -hash = "3a8083318938048090021481581158ede01e47659d06d192f97a5bfaf950d663"; -url = "http://rubygems.org/downloads/sinatra-1.4.5.gem"; -version = "1.4.5"; -} -{ -name = "slop"; -hash = "76ccab03be66bfcab4838cdc07cab019cd3e192a3538266246749e79e4788803"; -url = "http://rubygems.org/downloads/slop-3.6.0.gem"; -version = "3.6.0"; -} -{ -name = "sprockets"; -hash = "c25a4a37c9436e5a2c877b926156bce1826a0156d9cd96ca704ab085726ec2ae"; -url = "http://rubygems.org/downloads/sprockets-2.12.3.gem"; -version = "2.12.3"; -} -{ -name = "sprockets-rails"; -hash = "2ba0eddfb651d7b8a5aab1d03b25d9a61333509a589b48e1355fbe40dd264da4"; -url = "http://rubygems.org/downloads/sprockets-rails-2.2.2.gem"; -version = "2.2.2"; -} -{ -name = "teaspoon"; -hash = "7f5c90796186877f0e3c10914f8aa8866d3696c0667d9e5aaab36c96eaca6bc8"; -url = "http://rubygems.org/downloads/teaspoon-0.8.0.gem"; -version = "0.8.0"; -} -{ -name = "term-ansicolor"; -hash = "8b5caf6839a0c1bbf7a55a9d2fbd3c172f623fa05c427f9b3ea5d75bdfe14fa8"; -url = "http://rubygems.org/downloads/term-ansicolor-1.3.0.gem"; -version = "1.3.0"; -} -{ -name = "therubyracer"; -hash = "26565ce91657acb5d0921584cace7ee82723452d747d66ee8154298f6bc4ce80"; -url = "http://rubygems.org/downloads/therubyracer-0.12.1.gem"; -version = "0.12.1"; -} -{ -name = "thor"; -hash = "9ff834f031b5550c743bb8a3139317fefdae9cdebd02d60de376658f427fe522"; -url = "http://rubygems.org/downloads/thor-0.19.1.gem"; -version = "0.19.1"; -} -{ -name = "thread_safe"; -hash = "16315baa971c48d00104bcd35e8934e3f9ccfd3b8f429e3fca7ee2dfd81734b2"; -url = "http://rubygems.org/downloads/thread_safe-0.3.4.gem"; -version = "0.3.4"; -} -{ -name = "tilt"; -hash = "39820562c4f5db45fe18de87ccc30a0e77a998bf5334b1d8c10a2f7dbc1f5903"; -url = "http://rubygems.org/downloads/tilt-1.4.1.gem"; -version = "1.4.1"; -} -{ -name = "tins"; -hash = "5964d11f3784651370b685ea2751f3f88c75f4def29a1b04b19f224e0161ad49"; -url = "http://rubygems.org/downloads/tins-1.1.0.gem"; -version = "1.1.0"; -} -{ -name = "tzinfo"; -hash = "fdb1d3fdf2776d490c82a0e589a08e7cbde70ac1ae7d2b1f0b7e77f3e6b801b0"; -url = "http://rubygems.org/downloads/tzinfo-1.2.2.gem"; -version = "1.2.2"; -} -{ -name = "uglifier"; -hash = "e0badf2761a79855e2c008e50d3e9253bc60738d64230da25069ff9ac0c030ee"; -url = "http://rubygems.org/downloads/uglifier-2.5.1.gem"; -version = "2.5.1"; -} -{ -name = "webmock"; -hash = "0360485651dfe94675a36f546367e2bb075570ab879fdb311b4bd2763a5141e4"; -url = "http://rubygems.org/downloads/webmock-1.18.0.gem"; -version = "1.18.0"; -} -{ -name = "xpath"; -hash = "9ca4a1cc88d9ab16c591468cce7b5d00ee06a8a76b841f8438970c7a44c86c12"; -url = "http://rubygems.org/downloads/xpath-2.0.0.gem"; -version = "2.0.0"; -} -{ -name = "zeroclipboard-rails"; -hash = "cc31aa9aae0b3aec173c966c1c7cf398374cfe37cc80fbbdc6aa57a000553d02"; -url = "http://rubygems.org/downloads/zeroclipboard-rails-0.1.0.gem"; -version = "0.1.0"; -} -] diff --git a/pkgs/applications/networking/cluster/panamax/api.nix b/pkgs/applications/networking/cluster/panamax/api.nix index 6345e7fd10b..415392627ea 100644 --- a/pkgs/applications/networking/cluster/panamax/api.nix +++ b/pkgs/applications/networking/cluster/panamax/api.nix @@ -1,5 +1,5 @@ -{ stdenv, buildEnv, fetchgit, fetchurl, makeWrapper -, ruby, rubygemsFun, libxslt, libxml2, sqlite, openssl, cacert, docker +{ stdenv, buildEnv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler_HEAD +, ruby, libxslt, libxml2, sqlite, openssl, cacert, docker , dataDir ? "/var/lib/panamax-api" }: with stdenv.lib; @@ -11,29 +11,29 @@ let database: <%= ENV["PANAMAX_DATABASE_PATH"] || "${dataDir}/db/mnt/db.sqlite3" %> timeout: 5000 ''; - + env = bundlerEnv { + name = "panamax-api-gems"; + inherit ruby; + gemset = ./gemset-api.nix; + gemfile = ./Gemfile-api; + lockfile = ./Gemfile-api.lock; + }; + bundler = bundler_HEAD.override { inherit ruby; }; in stdenv.mkDerivation rec { name = "panamax-api-${version}"; version = "0.2.11"; - bundler = fetchurl { - url = "http://rubygems.org/downloads/bundler-1.7.9.gem"; - sha256 = "1gd201rh17xykab9pbqp0dkxfm7b9jri02llyvmrc0c5bz2vhycm"; - }; - src = fetchgit { rev = "refs/tags/v${version}"; url = "git://github.com/CenturyLinkLabs/panamax-api"; sha256 = "01sz7jibn1rqfga85pr4p8wk6jfldzfaxj1726vs6znmcwhfkcgj"; }; - gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile-api.nix); - - buildInputs = [ makeWrapper sqlite openssl ruby (rubygemsFun ruby) ]; + buildInputs = [ makeWrapper sqlite openssl env.ruby bundler ]; setSourceRoot = '' mkdir -p $out/share - cp -R git-export $out/share/panamax-api + cp -R panamax-api $out/share/panamax-api export sourceRoot="$out/share/panamax-api" ''; @@ -43,20 +43,12 @@ in stdenv.mkDerivation rec { configurePhase = '' export HOME=$PWD - export GEM_HOME=$PWD + export GEM_HOME=${env}/${env.ruby.gemPath} export RAILS_ENV=production - mkdir -p vendor/cache - ${concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)} - ln -s ${bundler} vendor/cache/${bundler.name} ln -sf ${database_yml} config/database.yml ''; - buildPhase = '' - gem install --local vendor/cache/${bundler.name} - bin/bundle install -j4 --verbose --local --deployment --without development test - ''; - installPhase = '' rm -rf log tmp mv ./db ./_db @@ -65,15 +57,12 @@ in stdenv.mkDerivation rec { mkdir -p $out/bin makeWrapper bin/bundle "$out/bin/bundle" \ --run "cd $out/share/panamax-api" \ - --prefix "PATH" : "$out/share/panamax-api/bin:${ruby}/bin:$PATH" \ + --prefix "PATH" : "$out/share/panamax-api/bin:${env.ruby}/bin:$PATH" \ --prefix "HOME" : "$out/share/panamax-api" \ - --prefix "GEM_HOME" : "$out/share/panamax-api" \ + --prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \ --prefix "OPENSSL_X509_CERT_FILE" : "${cacert}/etc/ca-bundle.crt" \ - --prefix "SSL_CERT_FILE" : "${cacert}/etc/ca-bundle.crt" - ''; - - postFixup = '' - rm -r vendor/cache/* + --prefix "SSL_CERT_FILE" : "${cacert}/etc/ca-bundle.crt" \ + --prefix "GEM_PATH" : "$out/share/panamax-api:${bundler}/${env.ruby.gemPath}" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/cluster/panamax/gemset-api.nix b/pkgs/applications/networking/cluster/panamax/gemset-api.nix new file mode 100644 index 00000000000..62cf5dcd3af --- /dev/null +++ b/pkgs/applications/networking/cluster/panamax/gemset-api.nix @@ -0,0 +1,571 @@ +let + pkgs = import { }; +in { + "actionmailer" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "0qjv5akjbpgd4cx518k522mssvc3y3nki65hi6fj5nbzi7a6rwq5"; + }; + dependencies = [ + "actionpack" + "actionview" + "mail" + ]; + }; + "actionpack" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "07y1ny00h69xklq260smyl5md052f617gqrzkyw5sxafs5z25zax"; + }; + dependencies = [ + "actionview" + "activesupport" + "rack" + "rack-test" + ]; + }; + "actionview" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "06sp37gfpn2jn7j6vlpp1y6vfi5kig60vyvixrjhyz0g4vgm13ax"; + }; + dependencies = [ + "activesupport" + "builder" + "erubis" + ]; + }; + "active_model_serializers" = { + version = "0.9.0"; + source = { + type = "gem"; + sha256 = "1ws3gx3wwlm17w7k0agwzmcmww6627lvqaqm828lzm3g1xqilkkl"; + }; + dependencies = [ + "activemodel" + ]; + }; + "activemodel" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "0rlqzz25l7vsphgkilg80kmk20d9h357awi27ax6zzb9klkqh0jr"; + }; + dependencies = [ + "activesupport" + "builder" + ]; + }; + "activerecord" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "0j4r0m32mjbwmz9gs8brln35jzr1cn7h585ggj0w0f1ai4hjsby5"; + }; + dependencies = [ + "activemodel" + "activesupport" + "arel" + ]; + }; + "activesupport" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "13i3mz66d5kp5y39gjwmcfqv0wb6mxm5k1nnz40wvd38dsf7n3bs"; + }; + dependencies = [ + "i18n" + "json" + "minitest" + "thread_safe" + "tzinfo" + ]; + }; + "addressable" = { + version = "2.3.6"; + source = { + type = "gem"; + sha256 = "137fj0whmn1kvaq8wjalp8x4qbblwzvg3g4bfx8d8lfi6f0w48p8"; + }; + }; + "archive-tar-minitar" = { + version = "0.5.2"; + source = { + type = "gem"; + sha256 = "1j666713r3cc3wb0042x0wcmq2v11vwwy5pcaayy5f0lnd26iqig"; + }; + }; + "arel" = { + version = "5.0.1.20140414130214"; + source = { + type = "gem"; + sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9"; + }; + }; + "builder" = { + version = "3.2.2"; + source = { + type = "gem"; + sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2"; + }; + }; + "coveralls" = { + version = "0.7.0"; + source = { + type = "gem"; + sha256 = "0sz30d7b83qqsj3i0fr691w05d62wj7x3afh0ryjkqkis3fq94j4"; + }; + dependencies = [ + "multi_json" + "rest-client" + "simplecov" + "term-ansicolor" + "thor" + ]; + }; + "crack" = { + version = "0.4.2"; + source = { + type = "gem"; + sha256 = "1il94m92sz32nw5i6hdq14f1a2c3s9hza9zn6l95fvqhabq38k7a"; + }; + dependencies = [ + "safe_yaml" + ]; + }; + "database_cleaner" = { + version = "1.3.0"; + source = { + type = "gem"; + sha256 = "19w25yda684pg29bggq26wy4lpyjvzscwg2hx3hmmmpysiwfnxgn"; + }; + }; + "diff-lcs" = { + version = "1.2.5"; + source = { + type = "gem"; + sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1"; + }; + }; + "docile" = { + version = "1.1.5"; + source = { + type = "gem"; + sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"; + }; + }; + "docker-api" = { + version = "1.13.0"; + source = { + type = "gem"; + sha256 = "1rara27gn7lxaf12dqkx8s1clssg10jndfcy4wz2fv6ms1i1lnp6"; + }; + dependencies = [ + "archive-tar-minitar" + "excon" + "json" + ]; + }; + "erubis" = { + version = "2.7.0"; + source = { + type = "gem"; + sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; + }; + }; + "excon" = { + version = "0.37.0"; + source = { + type = "gem"; + sha256 = "05x7asmsq5m419n1lhzk9bic02gwng4cqmrcqsfnd6kmkwm8csv2"; + }; + }; + "faraday" = { + version = "0.8.9"; + source = { + type = "gem"; + sha256 = "17d79fsgx0xwh0mfxyz5pbr435qlw79phlfvifc546w2axdkp718"; + }; + dependencies = [ + "multipart-post" + ]; + }; + "faraday_middleware" = { + version = "0.9.0"; + source = { + type = "gem"; + sha256 = "1kwvi2sdxd6j764a7q5iir73dw2v6816zx3l8cgfv0wr2m47icq2"; + }; + dependencies = [ + "faraday" + ]; + }; + "fleet-api" = { + version = "0.6.0"; + source = { + type = "gem"; + sha256 = "0136mzc0fxp6mzh38n6xbg87cw9g9vq1nrlr3ylazbflvmlxgan6"; + }; + dependencies = [ + "faraday" + "faraday_middleware" + ]; + }; + "hike" = { + version = "1.2.3"; + source = { + type = "gem"; + sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm"; + }; + }; + "i18n" = { + version = "0.6.11"; + source = { + type = "gem"; + sha256 = "0fwjlgmgry2blf8zlxn9c555cf4a16p287l599kz5104ncjxlzdk"; + }; + }; + "its" = { + version = "0.2.0"; + source = { + type = "gem"; + sha256 = "0rxwds9ipqp48mzqcaxzmfcqhawazg0zlhc1avv3i2cmm3np1z8g"; + }; + dependencies = [ + "rspec-core" + ]; + }; + "json" = { + version = "1.8.1"; + source = { + type = "gem"; + sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn"; + }; + }; + "kmts" = { + version = "2.0.1"; + source = { + type = "gem"; + sha256 = "1wk680q443lg35a25am6i8xawf16iqg5xnq1m8xd2gib4dsy1d8v"; + }; + }; + "mail" = { + version = "2.6.3"; + source = { + type = "gem"; + sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp"; + }; + dependencies = [ + "mime-types" + ]; + }; + "mime-types" = { + version = "2.4.3"; + source = { + type = "gem"; + sha256 = "16nissnb31wj7kpcaynx4gr67i7pbkzccfg8k7xmplbkla4rmwiq"; + }; + }; + "minitest" = { + version = "5.4.3"; + source = { + type = "gem"; + sha256 = "1ws2cphg9jh45nrvs43s2ww5r14nb026bwlbwwpi0jz6qsqm86x4"; + }; + }; + "multi_json" = { + version = "1.10.1"; + source = { + type = "gem"; + sha256 = "1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c"; + }; + }; + "multipart-post" = { + version = "1.2.0"; + source = { + type = "gem"; + sha256 = "12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc"; + }; + }; + "octokit" = { + version = "3.2.0"; + source = { + type = "gem"; + sha256 = "07ll3x1hv72zssb4hkdw56xg3xk6x4fch4yf38zljvbh388r11ng"; + }; + dependencies = [ + "sawyer" + ]; + }; + "puma" = { + version = "2.8.2"; + source = { + type = "gem"; + sha256 = "1l57fmf8vyxfjv7ab5znq0k339cym5ghnm5xxfvd1simjp73db0k"; + }; + dependencies = [ + "rack" + ]; + buildInputs = [ pkgs.openssl ]; + }; + "rack" = { + version = "1.5.2"; + source = { + type = "gem"; + sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6"; + }; + }; + "rack-test" = { + version = "0.6.2"; + source = { + type = "gem"; + sha256 = "01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky"; + }; + dependencies = [ + "rack" + ]; + }; + "rails" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "059mpljplmhfz8rr4hk40q67fllcpsy809m4mwwbkm8qwif2z5r0"; + }; + dependencies = [ + "actionmailer" + "actionpack" + "actionview" + "activemodel" + "activerecord" + "activesupport" + "railties" + "sprockets-rails" + ]; + }; + "railties" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "1n08h0rgj0aq5lvslnih6lvqz9wadpz6nnb25i4qhp37fhhyz9yz"; + }; + dependencies = [ + "actionpack" + "activesupport" + "rake" + "thor" + ]; + }; + "rake" = { + version = "10.4.0"; + source = { + type = "gem"; + sha256 = "0a10xzqc1lh6gjkajkslr0n40wjrniyiyzxkp9m5fc8wf7b74zw8"; + }; + }; + "rest-client" = { + version = "1.6.7"; + source = { + type = "gem"; + sha256 = "0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853"; + }; + dependencies = [ + "mime-types" + ]; + }; + "rspec-core" = { + version = "3.1.7"; + source = { + type = "gem"; + sha256 = "01bawvln663gffljwzpq3mrpa061cghjbvfbq15jvhmip3csxqc9"; + }; + dependencies = [ + "rspec-support" + ]; + }; + "rspec-expectations" = { + version = "3.1.2"; + source = { + type = "gem"; + sha256 = "0m8d36wng1lpbcs54zhg1rxh63rgj345k3p0h0c06lgknz339nzh"; + }; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + }; + "rspec-mocks" = { + version = "3.1.3"; + source = { + type = "gem"; + sha256 = "0gxk5w3klia4zsnp0svxck43xxwwfdqvhr3srv6p30f3m5q6rmzr"; + }; + dependencies = [ + "rspec-support" + ]; + }; + "rspec-rails" = { + version = "3.1.0"; + source = { + type = "gem"; + sha256 = "1b1in3n1dc1bpf9wb3p3b2ynq05iacmr48jxzc73lj4g44ksh3wq"; + }; + dependencies = [ + "actionpack" + "activesupport" + "railties" + "rspec-core" + "rspec-expectations" + "rspec-mocks" + "rspec-support" + ]; + }; + "rspec-support" = { + version = "3.1.2"; + source = { + type = "gem"; + sha256 = "14y6v9r9lrh91ry9r79h85v0f3y9ja25w42nv5z9n0bipfcwhprb"; + }; + }; + "safe_yaml" = { + version = "1.0.4"; + source = { + type = "gem"; + sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; + }; + }; + "sawyer" = { + version = "0.5.4"; + source = { + type = "gem"; + sha256 = "01kl4zpf0gaacnkra5nikrzfpwj8f10hsvgyzm7z2s1mz4iipx2v"; + }; + dependencies = [ + "addressable" + "faraday" + ]; + }; + "shoulda-matchers" = { + version = "2.6.1"; + source = { + type = "gem"; + sha256 = "1p3jhvd4dsj6d7nbmvnqhqhpmb8pnr05pi7jv9ajwqcys8140mc1"; + }; + dependencies = [ + "activesupport" + ]; + }; + "simplecov" = { + version = "0.9.1"; + source = { + type = "gem"; + sha256 = "06hylxlalaxxldpbaqa54gc52wxdff0fixdvjyzr6i4ygxwzr7yf"; + }; + dependencies = [ + "docile" + "multi_json" + "simplecov-html" + ]; + }; + "simplecov-html" = { + version = "0.8.0"; + source = { + type = "gem"; + sha256 = "0jhn3jql73x7hsr00wwv984iyrcg0xhf64s90zaqv2f26blkqfb9"; + }; + }; + "sprockets" = { + version = "2.12.3"; + source = { + type = "gem"; + sha256 = "1bn2drr8bc2af359dkfraq0nm0p1pib634kvhwn5lvj3r4vllnn2"; + }; + dependencies = [ + "hike" + "multi_json" + "rack" + "tilt" + ]; + }; + "sprockets-rails" = { + version = "2.2.0"; + source = { + type = "gem"; + sha256 = "042fxqskvaa0wn9kpy02nv6p7sa355py9pi58zw96l30170sd3hl"; + }; + dependencies = [ + "actionpack" + "activesupport" + "sprockets" + ]; + }; + "sqlite3" = { + version = "1.3.9"; + source = { + type = "gem"; + sha256 = "07m6a6flmyyi0rkg0j7x1a9861zngwjnximfh95cli2zzd57914r"; + }; + }; + "term-ansicolor" = { + version = "1.3.0"; + source = { + type = "gem"; + sha256 = "1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b"; + }; + dependencies = [ + "tins" + ]; + }; + "thor" = { + version = "0.19.1"; + source = { + type = "gem"; + sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z"; + }; + }; + "thread_safe" = { + version = "0.3.4"; + source = { + type = "gem"; + sha256 = "1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n"; + }; + }; + "tilt" = { + version = "1.4.1"; + source = { + type = "gem"; + sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir"; + }; + }; + "tins" = { + version = "1.3.0"; + source = { + type = "gem"; + sha256 = "1yxa5kyp9mw4w866wlg7c32ingzqxnzh3ir9yf06pwpkmq3mrbdi"; + }; + }; + "tzinfo" = { + version = "1.2.2"; + source = { + type = "gem"; + sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx"; + }; + dependencies = [ + "thread_safe" + ]; + }; + "webmock" = { + version = "1.20.0"; + source = { + type = "gem"; + sha256 = "0bl5v0xzcj24lx7xpsnywv3liqnqb5lfxysmmfb2fgi0n8586i6m"; + }; + dependencies = [ + "addressable" + "crack" + ]; + }; +} diff --git a/pkgs/applications/networking/cluster/panamax/gemset-ui.nix b/pkgs/applications/networking/cluster/panamax/gemset-ui.nix new file mode 100644 index 00000000000..3793a250215 --- /dev/null +++ b/pkgs/applications/networking/cluster/panamax/gemset-ui.nix @@ -0,0 +1,760 @@ +let + pkgs = import { }; +in { + "actionmailer" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "0qjv5akjbpgd4cx518k522mssvc3y3nki65hi6fj5nbzi7a6rwq5"; + }; + dependencies = [ + "actionpack" + "actionview" + "mail" + ]; + }; + "actionpack" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "07y1ny00h69xklq260smyl5md052f617gqrzkyw5sxafs5z25zax"; + }; + dependencies = [ + "actionview" + "activesupport" + "rack" + "rack-test" + ]; + }; + "actionview" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "06sp37gfpn2jn7j6vlpp1y6vfi5kig60vyvixrjhyz0g4vgm13ax"; + }; + dependencies = [ + "activesupport" + "builder" + "erubis" + ]; + }; + "activemodel" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "0rlqzz25l7vsphgkilg80kmk20d9h357awi27ax6zzb9klkqh0jr"; + }; + dependencies = [ + "activesupport" + "builder" + ]; + }; + "activerecord" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "0j4r0m32mjbwmz9gs8brln35jzr1cn7h585ggj0w0f1ai4hjsby5"; + }; + dependencies = [ + "activemodel" + "activesupport" + "arel" + ]; + }; + "activeresource" = { + version = "4.0.0"; + source = { + type = "gem"; + sha256 = "0fc5igjijyjzsl9q5kybkdzhc92zv8wsv0ifb0y90i632jx6d4jq"; + }; + dependencies = [ + "activemodel" + "activesupport" + "rails-observers" + ]; + }; + "activesupport" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "13i3mz66d5kp5y39gjwmcfqv0wb6mxm5k1nnz40wvd38dsf7n3bs"; + }; + dependencies = [ + "i18n" + "json" + "minitest" + "thread_safe" + "tzinfo" + ]; + }; + "addressable" = { + version = "2.3.6"; + source = { + type = "gem"; + sha256 = "137fj0whmn1kvaq8wjalp8x4qbblwzvg3g4bfx8d8lfi6f0w48p8"; + }; + }; + "arel" = { + version = "5.0.1.20140414130214"; + source = { + type = "gem"; + sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9"; + }; + }; + "binding_of_caller" = { + version = "0.7.2"; + source = { + type = "gem"; + sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk"; + }; + dependencies = [ + "debug_inspector" + ]; + }; + "builder" = { + version = "3.2.2"; + source = { + type = "gem"; + sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2"; + }; + }; + "byebug" = { + version = "3.5.1"; + source = { + type = "gem"; + sha256 = "0ldc2r0b316rrn2fgdgiznskj9gb0q9n60243laq7nqw9na8wdan"; + }; + dependencies = [ + "columnize" + "debugger-linecache" + "slop" + ]; + }; + "capybara" = { + version = "2.3.0"; + source = { + type = "gem"; + sha256 = "12x24zsn3y7sigmz45ijd9bkq7l14r2a00ay6k9mdgrbncbr3ins"; + }; + dependencies = [ + "mime-types" + "nokogiri" + "rack" + "rack-test" + "xpath" + ]; + }; + "coderay" = { + version = "1.1.0"; + source = { + type = "gem"; + sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s"; + }; + }; + "columnize" = { + version = "0.8.9"; + source = { + type = "gem"; + sha256 = "1f3azq8pvdaaclljanwhab78hdw40k908ma2cwk59qzj4hvf7mip"; + }; + }; + "coveralls" = { + version = "0.7.0"; + source = { + type = "gem"; + sha256 = "0sz30d7b83qqsj3i0fr691w05d62wj7x3afh0ryjkqkis3fq94j4"; + }; + dependencies = [ + "multi_json" + "rest-client" + "simplecov" + "term-ansicolor" + "thor" + ]; + }; + "crack" = { + version = "0.4.2"; + source = { + type = "gem"; + sha256 = "1il94m92sz32nw5i6hdq14f1a2c3s9hza9zn6l95fvqhabq38k7a"; + }; + dependencies = [ + "safe_yaml" + ]; + }; + "ctl_base_ui" = { + version = "0.0.4"; + source = { + type = "gem"; + sha256 = "0h0dbl0mf6cql7yp10jywv22rn0iy2188phdxvr2ladwwn2vxf5d"; + }; + dependencies = [ + "haml" + "jquery-rails" + "jquery-ui-rails" + "rails" + "sass" + ]; + }; + "debug_inspector" = { + version = "0.0.2"; + source = { + type = "gem"; + sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m"; + }; + }; + "debugger-linecache" = { + version = "1.2.0"; + source = { + type = "gem"; + sha256 = "0iwyx190fd5vfwj1gzr8pg3m374kqqix4g4fc4qw29sp54d3fpdz"; + }; + }; + "diff-lcs" = { + version = "1.2.5"; + source = { + type = "gem"; + sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1"; + }; + }; + "docile" = { + version = "1.1.5"; + source = { + type = "gem"; + sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"; + }; + }; + "dotenv" = { + version = "0.11.1"; + source = { + type = "gem"; + sha256 = "09z0y0d6bks7i0sqvd8szfqj9i1kkj01anzly7shi83b3gxhrq9m"; + }; + dependencies = [ + "dotenv-deployment" + ]; + }; + "dotenv-deployment" = { + version = "0.0.2"; + source = { + type = "gem"; + sha256 = "1ad66jq9a09qq1js8wsyil97018s7y6x0vzji0dy34gh65sbjz8c"; + }; + }; + "dotenv-rails" = { + version = "0.11.1"; + source = { + type = "gem"; + sha256 = "0r6hif0i1lipbi7mkxx7wa5clsn65n6wyd9jry262cx396lsfrqy"; + }; + dependencies = [ + "dotenv" + ]; + }; + "erubis" = { + version = "2.7.0"; + source = { + type = "gem"; + sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; + }; + }; + "execjs" = { + version = "2.2.1"; + source = { + type = "gem"; + sha256 = "1s41g9qwq0h4452q4gp934lnkzfkxh4wrg8fd4bcynba86bf3j8b"; + }; + }; + "haml" = { + version = "4.0.5"; + source = { + type = "gem"; + sha256 = "1xmzb0k5q271090crzmv7dbw8ss4289bzxklrc0fhw6pw3kcvc85"; + }; + dependencies = [ + "tilt" + ]; + }; + "hike" = { + version = "1.2.3"; + source = { + type = "gem"; + sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm"; + }; + }; + "i18n" = { + version = "0.6.11"; + source = { + type = "gem"; + sha256 = "0fwjlgmgry2blf8zlxn9c555cf4a16p287l599kz5104ncjxlzdk"; + }; + }; + "jquery-rails" = { + version = "3.1.2"; + source = { + type = "gem"; + sha256 = "0h5a565i3l2mbd221m6mz9d1nr53pz19i9qxv08qr1dv0yx2pr3y"; + }; + dependencies = [ + "railties" + "thor" + ]; + }; + "jquery-ui-rails" = { + version = "4.2.1"; + source = { + type = "gem"; + sha256 = "1garrnqwh35acj2pp4sp6fpm2g881h23y644lzbic2qmcrq9wd2v"; + }; + dependencies = [ + "railties" + ]; + }; + "json" = { + version = "1.8.1"; + source = { + type = "gem"; + sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn"; + }; + }; + "kramdown" = { + version = "1.4.0"; + source = { + type = "gem"; + sha256 = "001vy0ymiwbvkdbb9wpqmswv6imliv7xim00gq6rlk0chnbiaq80"; + }; + }; + "libv8" = { + version = "3.16.14.7"; + source = { + type = "gem"; + sha256 = "0dv5q5n5nf6b8h3fybwmsr3vkj70w4g1jpf6661j3hsv9vp0g4qq"; + }; + }; + "mail" = { + version = "2.6.3"; + source = { + type = "gem"; + sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp"; + }; + dependencies = [ + "mime-types" + ]; + }; + "method_source" = { + version = "0.8.2"; + source = { + type = "gem"; + sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2"; + }; + }; + "mime-types" = { + version = "2.4.3"; + source = { + type = "gem"; + sha256 = "16nissnb31wj7kpcaynx4gr67i7pbkzccfg8k7xmplbkla4rmwiq"; + }; + }; + "mini_portile" = { + version = "0.6.0"; + source = { + type = "gem"; + sha256 = "09kcn4g63xrdirgwxgjikqg976rr723bkc9bxfr29pk22cj3wavn"; + }; + }; + "minitest" = { + version = "5.4.3"; + source = { + type = "gem"; + sha256 = "1ws2cphg9jh45nrvs43s2ww5r14nb026bwlbwwpi0jz6qsqm86x4"; + }; + }; + "multi_json" = { + version = "1.10.1"; + source = { + type = "gem"; + sha256 = "1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c"; + }; + }; + "nokogiri" = { + version = "1.6.2.1"; + source = { + type = "gem"; + sha256 = "0dj8ajm9hlfpa71qz1xn5prqy5qdi32ll74qh8ssjwknp1a35cnz"; + }; + dependencies = [ + "mini_portile" + ]; + }; + "phantomjs" = { + version = "1.9.7.1"; + source = { + type = "gem"; + sha256 = "14as0yzwbzvshbp1f8igjxcdxc5vbjgh0jhdvy393il084inlrl7"; + }; + }; + "pry" = { + version = "0.10.1"; + source = { + type = "gem"; + sha256 = "1j0r5fm0wvdwzbh6d6apnp7c0n150hpm9zxpm5xvcgfqr36jaj8z"; + }; + dependencies = [ + "coderay" + "method_source" + "slop" + ]; + }; + "pry-byebug" = { + version = "2.0.0"; + source = { + type = "gem"; + sha256 = "17b6720ci9345wkzj369ydyj6hdlg2krd26zivpd4dvaijszzgzq"; + }; + dependencies = [ + "byebug" + "pry" + ]; + }; + "pry-stack_explorer" = { + version = "0.4.9.1"; + source = { + type = "gem"; + sha256 = "1828jqcfdr9nk86n15ky199vf33cfz51wkpv6kx230g0dsh9r85z"; + }; + dependencies = [ + "binding_of_caller" + "pry" + ]; + }; + "puma" = { + version = "2.8.2"; + source = { + type = "gem"; + sha256 = "1l57fmf8vyxfjv7ab5znq0k339cym5ghnm5xxfvd1simjp73db0k"; + }; + dependencies = [ + "rack" + ]; + buildInputs = [ pkgs.openssl ]; + }; + "rack" = { + version = "1.5.2"; + source = { + type = "gem"; + sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6"; + }; + }; + "rack-protection" = { + version = "1.5.3"; + source = { + type = "gem"; + sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r"; + }; + dependencies = [ + "rack" + ]; + }; + "rack-test" = { + version = "0.6.2"; + source = { + type = "gem"; + sha256 = "01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky"; + }; + dependencies = [ + "rack" + ]; + }; + "rails" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "059mpljplmhfz8rr4hk40q67fllcpsy809m4mwwbkm8qwif2z5r0"; + }; + dependencies = [ + "actionmailer" + "actionpack" + "actionview" + "activemodel" + "activerecord" + "activesupport" + "railties" + "sprockets-rails" + ]; + }; + "rails-observers" = { + version = "0.1.2"; + source = { + type = "gem"; + sha256 = "1lsw19jzmvipvrfy2z04hi7r29dvkfc43h43vs67x6lsj9rxwwcy"; + }; + dependencies = [ + "activemodel" + ]; + }; + "railties" = { + version = "4.1.7"; + source = { + type = "gem"; + sha256 = "1n08h0rgj0aq5lvslnih6lvqz9wadpz6nnb25i4qhp37fhhyz9yz"; + }; + dependencies = [ + "actionpack" + "activesupport" + "rake" + "thor" + ]; + }; + "rake" = { + version = "10.4.1"; + source = { + type = "gem"; + sha256 = "1446zzdpwpvwkd0zk19b2smmmvdiarh4b26cdbcw4fy5p67wxkw2"; + }; + }; + "ref" = { + version = "1.0.5"; + source = { + type = "gem"; + sha256 = "19qgpsfszwc2sfh6wixgky5agn831qq8ap854i1jqqhy1zsci3la"; + }; + }; + "rest-client" = { + version = "1.6.7"; + source = { + type = "gem"; + sha256 = "0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853"; + }; + dependencies = [ + "mime-types" + ]; + }; + "rspec-core" = { + version = "2.14.8"; + source = { + type = "gem"; + sha256 = "0psjy5kdlz3ph39br0m01w65i1ikagnqlg39f8p65jh5q7dz8hwc"; + }; + }; + "rspec-expectations" = { + version = "2.14.5"; + source = { + type = "gem"; + sha256 = "1ni8kw8kjv76jvwjzi4jba00k3qzj9f8wd94vm6inz0jz3gwjqf9"; + }; + dependencies = [ + "diff-lcs" + ]; + }; + "rspec-mocks" = { + version = "2.14.6"; + source = { + type = "gem"; + sha256 = "1fwsmijd6w6cmqyh4ky2nq89jrpzh56hzmndx9wgkmdgfhfakv30"; + }; + }; + "rspec-rails" = { + version = "2.14.2"; + source = { + type = "gem"; + sha256 = "1j9nbha6p12kwy9c5g3lw541xg20yzk95lzgmsq7kvngiqz88p57"; + }; + dependencies = [ + "actionpack" + "activemodel" + "activesupport" + "railties" + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + }; + "safe_yaml" = { + version = "1.0.3"; + source = { + type = "gem"; + sha256 = "063bykyk40s3rhy1dxfbvl69s179n1iny418z4wqjbvhrmjn18wl"; + }; + }; + "sass" = { + version = "3.3.9"; + source = { + type = "gem"; + sha256 = "0k19vj73283i907z4wfkc9qdska2b19z7ps6lcr5s4qzwis1zkmz"; + }; + }; + "simplecov" = { + version = "0.9.1"; + source = { + type = "gem"; + sha256 = "06hylxlalaxxldpbaqa54gc52wxdff0fixdvjyzr6i4ygxwzr7yf"; + }; + dependencies = [ + "docile" + "multi_json" + "simplecov-html" + ]; + }; + "simplecov-html" = { + version = "0.8.0"; + source = { + type = "gem"; + sha256 = "0jhn3jql73x7hsr00wwv984iyrcg0xhf64s90zaqv2f26blkqfb9"; + }; + }; + "sinatra" = { + version = "1.4.5"; + source = { + type = "gem"; + sha256 = "0qyna3wzlnvsz69d21lxcm3ixq7db08mi08l0a88011qi4qq701s"; + }; + dependencies = [ + "rack" + "rack-protection" + "tilt" + ]; + }; + "slop" = { + version = "3.6.0"; + source = { + type = "gem"; + sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n"; + }; + }; + "sprockets" = { + version = "2.12.3"; + source = { + type = "gem"; + sha256 = "1bn2drr8bc2af359dkfraq0nm0p1pib634kvhwn5lvj3r4vllnn2"; + }; + dependencies = [ + "hike" + "multi_json" + "rack" + "tilt" + ]; + }; + "sprockets-rails" = { + version = "2.2.2"; + source = { + type = "gem"; + sha256 = "192d4vfl1gjz6phli6sqk98364x6v4jkpl5imajvimsinvgyv81b"; + }; + dependencies = [ + "actionpack" + "activesupport" + "sprockets" + ]; + }; + "teaspoon" = { + version = "0.8.0"; + source = { + type = "gem"; + sha256 = "1j3brbm9cv5km9d9wzb6q2b3cvc6m254z48h7h77z1w6c5wr0p3z"; + }; + dependencies = [ + "railties" + ]; + }; + "term-ansicolor" = { + version = "1.3.0"; + source = { + type = "gem"; + sha256 = "1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b"; + }; + dependencies = [ + "tins" + ]; + }; + "therubyracer" = { + version = "0.12.1"; + source = { + type = "gem"; + sha256 = "106fqimqyaalh7p6czbl5m2j69z8gv7cm10mjb8bbb2p2vlmqmi6"; + }; + dependencies = [ + "libv8" + "ref" + ]; + }; + "thor" = { + version = "0.19.1"; + source = { + type = "gem"; + sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z"; + }; + }; + "thread_safe" = { + version = "0.3.4"; + source = { + type = "gem"; + sha256 = "1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n"; + }; + }; + "tilt" = { + version = "1.4.1"; + source = { + type = "gem"; + sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir"; + }; + }; + "tins" = { + version = "1.1.0"; + source = { + type = "gem"; + sha256 = "0jddc40lw8lzn421p6pjvvs7b37qyd8jgsl5nrq16rc46wgx2r2r"; + }; + }; + "tzinfo" = { + version = "1.2.2"; + source = { + type = "gem"; + sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx"; + }; + dependencies = [ + "thread_safe" + ]; + }; + "uglifier" = { + version = "2.5.1"; + source = { + type = "gem"; + sha256 = "1vihq309mzv9a2i0s8v4imrn1g2kj8z0vr88q3i5b657c4kxzfp0"; + }; + dependencies = [ + "execjs" + "json" + ]; + }; + "webmock" = { + version = "1.18.0"; + source = { + type = "gem"; + sha256 = "1r21a4x7dljb3cqxp7w7mdq5a1xvw9kn6m3gldsldsfza5b4hq03"; + }; + dependencies = [ + "addressable" + "crack" + ]; + }; + "xpath" = { + version = "2.0.0"; + source = { + type = "gem"; + sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w"; + }; + dependencies = [ + "nokogiri" + ]; + }; + "zeroclipboard-rails" = { + version = "0.1.0"; + source = { + type = "gem"; + sha256 = "00ixal0a0mxaqsyzp06c6zz4qdwqydy1qv4n7hbyqfhbmsdalcfc"; + }; + dependencies = [ + "railties" + ]; + }; +} diff --git a/pkgs/applications/networking/cluster/panamax/ui.nix b/pkgs/applications/networking/cluster/panamax/ui.nix index 3181fb976e0..4d4e4fe964d 100644 --- a/pkgs/applications/networking/cluster/panamax/ui.nix +++ b/pkgs/applications/networking/cluster/panamax/ui.nix @@ -1,30 +1,33 @@ -{ stdenv, fetchgit, fetchurl, makeWrapper +{ stdenv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler_HEAD , ruby, rubygemsFun, openssl, sqlite, dataDir ? "/var/lib/panamax-ui"}: with stdenv.lib; +let + env = bundlerEnv { + name = "panamax-api-gems"; + inherit ruby; + gemset = ./gemset-ui.nix; + gemfile = ./Gemfile-ui; + lockfile = ./Gemfile-ui.lock; + }; + bundler = bundler_HEAD.override { inherit ruby; }; +in stdenv.mkDerivation rec { name = "panamax-ui-${version}"; version = "0.2.11"; - bundler = fetchurl { - url = "http://rubygems.org/downloads/bundler-1.7.9.gem"; - sha256 = "1gd201rh17xykab9pbqp0dkxfm7b9jri02llyvmrc0c5bz2vhycm"; - }; - src = fetchgit { rev = "refs/tags/v${version}"; url = "git://github.com/CenturyLinkLabs/panamax-ui"; sha256 = "17j5ac8fzp377bzg7f239jdcc9j0c63bkx0ill5nl10i3h05z7jh"; }; - gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile-ui.nix); - - buildInputs = [ makeWrapper ruby openssl sqlite (rubygemsFun ruby) ]; + buildInputs = [ makeWrapper env.ruby openssl sqlite bundler ]; setSourceRoot = '' mkdir -p $out/share - cp -R git-export $out/share/panamax-ui + cp -R panamax-ui $out/share/panamax-ui export sourceRoot="$out/share/panamax-ui" ''; @@ -37,18 +40,12 @@ stdenv.mkDerivation rec { configurePhase = '' export HOME=$PWD - export GEM_HOME=$PWD - - mkdir -p vendor/cache - ${concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)} - ln -s ${bundler} vendor/cache/${bundler.name} + export GEM_HOME=${env}/${env.ruby.gemPath} ''; buildPhase = '' - gem install --local vendor/cache/${bundler.name} - bin/bundle install --verbose --local --without development test rm -f ./bin/* - ruby ./gems/bundler-*/bin/bundle exec rake rails:update:bin + bundle exec rake rails:update:bin ''; installPhase = '' @@ -58,10 +55,10 @@ stdenv.mkDerivation rec { mkdir -p $out/bin makeWrapper bin/bundle "$out/bin/bundle" \ --run "cd $out/share/panamax-ui" \ - --prefix "PATH" : "$out/share/panamax-ui/bin:${ruby}/bin:$PATH" \ + --prefix "PATH" : "$out/share/panamax-ui/bin:${env.ruby}/bin:$PATH" \ --prefix "HOME" : "$out/share/panamax-ui" \ - --prefix "GEM_HOME" : "$out/share/panamax-ui" \ - --prefix "GEM_PATH" : "$out/share/panamax-ui" + --prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \ + --prefix "GEM_PATH" : "$out/share/panamax-ui:${bundler}/${env.ruby.gemPath}" ''; meta = with stdenv.lib; { From b3118791e3ee99e84b26f89b1e0f6a4cbd685fec Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 7 Feb 2015 09:33:18 -0500 Subject: [PATCH 096/248] ratox: initial package http://ratox.2f30.org/ --- .../instant-messengers/ratox/default.nix | 29 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/applications/networking/instant-messengers/ratox/default.nix diff --git a/pkgs/applications/networking/instant-messengers/ratox/default.nix b/pkgs/applications/networking/instant-messengers/ratox/default.nix new file mode 100644 index 00000000000..1fb7ad8b955 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/ratox/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchgit, libtoxcore +, conf ? null }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "ratox-dev-20150107"; + + src = fetchgit { + url = "git://git.2f30.org/ratox"; + rev = "8be76e4cc829d86b8e1cae43a0d932600d6ff9fb"; + sha256 = "7fe492de3e69a08f9c1bb59a319d0e410905f06514abe99b4d4fe5c899650448"; + }; + + buildInputs = [ libtoxcore ]; + + configFile = optionalString (conf!=null) (builtins.toFile "config.h" conf); + preConfigure = optionalString (conf!=null) "cp ${configFile} config.def.h"; + + preBuild = "makeFlags=PREFIX=$out"; + + meta = + { description = "FIFO based tox client"; + homepage = http://ratox.2f30.org/; + license = licenses.isc; + maintainers = with maintainers; [ emery ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 82e86264c5d..6058b609af4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11012,6 +11012,8 @@ let rapidsvn = callPackage ../applications/version-management/rapidsvn { }; + ratox = callPackage ../applications/networking/instant-messengers/ratox { }; + ratpoison = callPackage ../applications/window-managers/ratpoison { }; rawtherapee = callPackage ../applications/graphics/rawtherapee { From bc444ffd32f1d9b49939742d1020ea3b84efe94f Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 30 Jan 2015 16:39:41 +0100 Subject: [PATCH 097/248] Add requests_toolbelt python library, required for vdirsyncer --- pkgs/top-level/python-packages.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5cb17e42464..71d5f956732 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8955,6 +8955,25 @@ let }; }; + requests_toolbelt = buildPythonPackage rec { + version = "0.3.0"; + name = "requests-toolbelt-${version}"; + + src = pkgs.fetchurl { + url = "https://github.com/sigmavirus24/requests-toolbelt/archive/${version}.tar.gz"; + sha256 = "177lqpm2czx81pjg0zfs1dkbbmcn5yf1y5qxj23x6y5d28518qwl"; + }; + + propagatedBuildInputs = with self; [ requests2 ]; + + meta = { + description = "A toolbelt of useful classes and functions to be used with python-requests"; + homepage = http://toolbelt.rtfd.org; + maintainers = with maintainers; [ matthiasbeyer ]; + }; + + }; + retry_decorator = buildPythonPackage rec { name = "retry_decorator-1.0.0"; src = pkgs.fetchurl { From 2797883e27b16a1717a9b8e327aefe1099e7d309 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sat, 31 Jan 2015 12:11:05 +0100 Subject: [PATCH 098/248] Add pythonPackage: atomicwrites --- pkgs/top-level/python-packages.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 71d5f956732..ac7302c36a1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -492,6 +492,23 @@ let }; }; + atomicwrites = buildPythonPackage rec { + version = "0.1.0"; + name = "atomicwrites-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/a/atomicwrites/atomicwrites-${version}.tar.gz"; + sha256 = "1lxz0xhnzihqlvl1h6j2nfxjqqgr4s08196z5phnlcz2s7d5z0mg"; + }; + + meta = { + description = "Atomic file writes on POSIX"; + homepage = https://pypi.python.org/pypi/atomicwrites/0.1.0; + maintainers = with maintainers; [ matthiasbeyer ]; + }; + + }; + argparse = buildPythonPackage (rec { name = "argparse-1.2.1"; From e5a0d8bc615b0c9a602a05f22ddf2c9392056230 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 30 Jan 2015 16:39:51 +0100 Subject: [PATCH 099/248] Add nix expression for vdirsyncer --- pkgs/tools/misc/vdirsyncer/default.nix | 32 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/tools/misc/vdirsyncer/default.nix diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix new file mode 100644 index 00000000000..7a42ec48fb6 --- /dev/null +++ b/pkgs/tools/misc/vdirsyncer/default.nix @@ -0,0 +1,32 @@ +{ lib, fetchurl, pythonPackages }: + +pythonPackages.buildPythonPackage rec { + version = "0.4.2"; + name = "vdirsyncer-${version}"; + namePrefix = ""; + + src = fetchurl { + url = https://github.com/untitaker/vdirsyncer/archive/0.4.2.tar.gz; + sha256 = "008181mglbrp5jsvpxr59b6w4mw26h4s4gwij152i47mfbrizsl4"; + }; + + pythonPath = with pythonPackages; [ + icalendar + click + requests + lxml + setuptools + requests_toolbelt + requests2 + atomicwrites + ]; + + meta = { + homepage = https://github.com/untitaker/vdirsyncer; + description = "Synchronize calendars and contacts"; + maintainers = [ lib.maintainers.matthiasbeyer ]; + platforms = lib.platforms.all; + license = lib.licenses.mit; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4f4914db59f..4a2f86d354f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11383,6 +11383,10 @@ let vcprompt = callPackage ../applications/version-management/vcprompt { }; + vdirsyncer = callPackage ../tools/misc/vdirsyncer { + pythonPackages = python3Packages; + }; + vdpauinfo = callPackage ../tools/X11/vdpauinfo { }; veracity = callPackage ../applications/version-management/veracity {}; From 03f530a239b10169f55617dcdece07f7f6118965 Mon Sep 17 00:00:00 2001 From: Aycan iRiCAN Date: Sat, 7 Feb 2015 17:21:30 +0200 Subject: [PATCH 100/248] Disable tests for haskellngPackages.rematch since it is missing Specs module. rematch is needed by distributed-process-platform. --- pkgs/development/haskell-modules/configuration-common.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 6e64bde1bb4..866ab3429a8 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -451,6 +451,9 @@ self: super: { # Upstream notified by e-mail. OpenGLRaw21 = markBrokenVersion "1.2.0.1" super.OpenGLRaw21; + # module missing: https://github.com/tcrayford/rematch/issues/5 + rematch = dontCheck super.rematch; + } // { # Not on Hackage. From 90e9c1a63caef6e289ecbe56f41480b57c6fb2dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 7 Feb 2015 18:21:18 +0100 Subject: [PATCH 101/248] synfigstudio 0.64.2 -> 0.64.3 --- pkgs/applications/graphics/synfigstudio/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix index 2b3f4c80bcd..9fa624435ed 100644 --- a/pkgs/applications/graphics/synfigstudio/default.nix +++ b/pkgs/applications/graphics/synfigstudio/default.nix @@ -4,14 +4,14 @@ }: let - version = "0.64.2"; + version = "0.64.3"; ETL = stdenv.mkDerivation rec { name = "ETL-0.04.17"; src = fetchurl { url = "mirror://sourceforge/synfig/${name}.tar.gz"; - sha256 = "1i2m31y5hdwr365z3zmfh5p3zm4ga4l4yqrl1qrmjryqqzkw200l"; + sha256 = "0rb9czkgan41q6xlck97kh77g176vjm1wnq620sqky7k2hiahr3s"; }; }; @@ -20,7 +20,7 @@ let src = fetchurl { url = "mirror://sourceforge/synfig/synfig-${version}.tar.gz"; - sha256 = "04mx321z929ngl65hfc1hv5jw37wqbh8y2avmpvajagvn6lp3zdl"; + sha256 = "0p4wqjidb4k3viahck4wzbh777f5ifpivn4vxhxs5fbq8nsvqksh"; }; configureFlags = [ @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/synfig/${name}.tar.gz"; - sha256 = "13hw4z6yx70g4mnjmvmxkk7b1qzlwmqjhxflq5dd6cqdsmfw9mc7"; + sha256 = "1li3ac8qvg25h9fgym0zywnq5bg3sgbv162xs4c6pwksn75i6gsv"; }; buildInputs = [ From 1bbf15eca17d3ad1a0652a0cbd8b9f26179a86b2 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Sat, 7 Feb 2015 18:45:35 +0100 Subject: [PATCH 102/248] Leiningen: Fix GnuPG Support. --- pkgs/development/tools/build-managers/leiningen/builder.sh | 2 +- pkgs/development/tools/build-managers/leiningen/default.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/build-managers/leiningen/builder.sh b/pkgs/development/tools/build-managers/leiningen/builder.sh index 885f3189acc..f3dd2bf2c93 100644 --- a/pkgs/development/tools/build-managers/leiningen/builder.sh +++ b/pkgs/development/tools/build-managers/leiningen/builder.sh @@ -19,5 +19,5 @@ patchShebangs $out wrapProgram $out_bin \ --prefix PATH ":" "${rlwrap}/bin:${coreutils}/bin:${findutils}/bin" \ - --set LEIN_GPG ${gnupg}/bin/gpg \ + --set LEIN_GPG ${gnupg1compat}/bin/gpg \ --set JAVA_CMD ${jdk}/bin/java diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix index 00d8eade612..5fb7d1a6995 100644 --- a/pkgs/development/tools/build-managers/leiningen/default.nix +++ b/pkgs/development/tools/build-managers/leiningen/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, makeWrapper -, coreutils, findutils, jdk, rlwrap, gnupg }: +, coreutils, findutils, jdk, rlwrap, gnupg1compat }: stdenv.mkDerivation rec { pname = "leiningen"; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { patches = [ ./lein-fix-jar-path.patch ]; - inherit rlwrap gnupg findutils coreutils jdk; + inherit rlwrap gnupg1compat findutils coreutils jdk; builder = ./builder.sh; From 6a24650cb5909ef9feae9306baf47fb0ba16e977 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Sat, 7 Feb 2015 18:45:56 +0100 Subject: [PATCH 103/248] pass: update from 1.6.3 to 1.6.5 --- pkgs/tools/security/pass/darwin-getopt.patch | 11 ----------- pkgs/tools/security/pass/default.nix | 11 +++++------ 2 files changed, 5 insertions(+), 17 deletions(-) delete mode 100644 pkgs/tools/security/pass/darwin-getopt.patch diff --git a/pkgs/tools/security/pass/darwin-getopt.patch b/pkgs/tools/security/pass/darwin-getopt.patch deleted file mode 100644 index 8cdcd67bc65..00000000000 --- a/pkgs/tools/security/pass/darwin-getopt.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh -index 1b76c33..fa40104 100644 ---- a/src/platform/darwin.sh -+++ b/src/platform/darwin.sh -@@ -31,5 +31,5 @@ tmpdir() { - mount -t hfs -o noatime -o nobrowse "$ramdisk_dev" "$SECURE_TMPDIR" || exit 1 - } - --GETOPT="$(brew --prefix gnu-getopt 2>/dev/null || echo /usr/local)/bin/getopt" -+GETOPT="getopt" - SHRED="srm -f -z" diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix index d635d692582..74889a05bee 100644 --- a/pkgs/tools/security/pass/default.nix +++ b/pkgs/tools/security/pass/default.nix @@ -1,23 +1,22 @@ { stdenv, fetchurl , coreutils, gnused, getopt, pwgen, git, tree, gnupg , makeWrapper -, withX ? true, xclip ? null, xdotool ? null +, withX ? true, xclip, xdotool, dmenu }: assert withX -> xclip != null; assert withX -> xdotool != null; +assert withX -> dmenu != null; stdenv.mkDerivation rec { - version = "1.6.3"; + version = "1.6.5"; name = "password-store-${version}"; src = fetchurl { url = "http://git.zx2c4.com/password-store/snapshot/${name}.tar.xz"; - sha256 = "1xs00c7ffqd0093i452kryw9sjip6dkp1pclx69zihb5l45d86fl"; + sha256 = "05bk3lrp5jwg0v338lvylp7glpliydzz4jf5pjr6k3kagrv3jyik"; }; - patches = [ ./darwin-getopt.patch ]; - buildInputs = [ makeWrapper ]; meta = with stdenv.lib; { @@ -65,7 +64,7 @@ stdenv.mkDerivation rec { ${if withX then '' wrapProgram $out/bin/passmenu \ - --prefix PATH : "$out/bin:${xdotool}/bin" + --prefix PATH : "$out/bin:${xdotool}/bin:${dmenu}/bin" '' else ""} ''; } From 94b179362af8e6398d4e6e8804c79094ebca2788 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Fri, 6 Feb 2015 09:12:48 +0000 Subject: [PATCH 104/248] haskell-persistent: bump to 2.1.1.4 Fix build error --- pkgs/development/libraries/haskell/persistent/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix index 21c49c457f9..9775f510d42 100644 --- a/pkgs/development/libraries/haskell/persistent/default.nix +++ b/pkgs/development/libraries/haskell/persistent/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "persistent"; - version = "2.1.1"; - sha256 = "0wmvjizz0zx5i9q5sh8hvsks14q6if4s0dnk63f9mw03jb8jpdd1"; + version = "2.1.1.4"; + sha256 = "0nknyrxh28i4cf50fj6mclgd4qnrqsby1w1bzj8jmg8snbyp69d2"; buildDepends = [ aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit exceptions fastLogger liftedBase monadControl monadLogger mtl From 8fcba367960b76ad6fffd9bb743606d5e038e601 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Fri, 6 Feb 2015 09:49:28 +0000 Subject: [PATCH 105/248] haskell-yesod-core: bump to version 1.4.7.2 Fixes build failure. Also, jailbreak appears to no longer be necessary. --- .../libraries/haskell/yesod-core/default.nix | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix index 8c87981a693..571778cfdc4 100644 --- a/pkgs/development/libraries/haskell/yesod-core/default.nix +++ b/pkgs/development/libraries/haskell/yesod-core/default.nix @@ -3,18 +3,18 @@ { cabal, aeson, async, autoUpdate, blazeBuilder, blazeHtml , blazeMarkup, caseInsensitive, cereal, clientsession, conduit , conduitExtra, cookie, dataDefault, deepseq, exceptions -, fastLogger, hspec, httpTypes, HUnit, liftedBase, monadControl -, monadLogger, mtl, mwcRandom, network, parsec, pathPieces -, primitive, QuickCheck, random, resourcet, safe, shakespeare -, streamingCommons, text, time, transformers, transformersBase -, unixCompat, unorderedContainers, vector, wai, waiExtra, waiLogger -, warp, word8 +, fastLogger, hspec, hspecExpectations, httpTypes, HUnit +, liftedBase, monadControl, monadLogger, mtl, mwcRandom, network +, parsec, pathPieces, primitive, QuickCheck, random, resourcet +, safe, shakespeare, streamingCommons, text, time, transformers +, transformersBase, unixCompat, unorderedContainers, vector, wai +, waiExtra, waiLogger, warp, word8 }: cabal.mkDerivation (self: { pname = "yesod-core"; - version = "1.4.6"; - sha256 = "1xlqqiyn2p0c1qxrkx0mlkp4cra0adhlpw27y03icvj0c93xi27g"; + version = "1.4.7.2"; + sha256 = "0k6zsjds594zy0cvnryz071nis3zmv1sjiyn14cc80j0rvjll46y"; buildDepends = [ aeson autoUpdate blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal clientsession conduit conduitExtra cookie dataDefault @@ -25,11 +25,11 @@ cabal.mkDerivation (self: { word8 ]; testDepends = [ - async blazeBuilder conduit conduitExtra hspec httpTypes HUnit - liftedBase mwcRandom network pathPieces QuickCheck random resourcet - shakespeare streamingCommons text transformers wai waiExtra + async blazeBuilder clientsession conduit conduitExtra cookie hspec + hspecExpectations httpTypes HUnit liftedBase mwcRandom network + pathPieces QuickCheck random resourcet shakespeare streamingCommons + text transformers wai waiExtra ]; - jailbreak = true; meta = { homepage = "http://www.yesodweb.com/"; description = "Creation of type-safe, RESTful web applications"; From 7c715dd74623969751759f3096812660113073ad Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Fri, 6 Feb 2015 10:00:07 +0000 Subject: [PATCH 106/248] haskell-yesod: bump to version 1.4.1.4 Fixes build failure --- pkgs/development/libraries/haskell/yesod/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix index 04b4ebee52f..4b5679512a9 100644 --- a/pkgs/development/libraries/haskell/yesod/default.nix +++ b/pkgs/development/libraries/haskell/yesod/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "yesod"; - version = "1.4.1.1"; - sha256 = "0p95f6gjpcl28ysl82hbyxh7fjql6lr5csndmnrd264h2pd88pxx"; + version = "1.4.1.4"; + sha256 = "1av6s5nanq5y9fqlzq2yq95989gg1fyqlpzg6y5pl4dcc45srm1x"; buildDepends = [ aeson blazeHtml blazeMarkup conduitExtra dataDefault fastLogger monadControl monadLogger safe semigroups shakespeare From 3d7cda6b23b8ff1d589d91cbdf0f840411c9b87f Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 17:12:29 +0000 Subject: [PATCH 107/248] haskell-EitherT: mark as broken Fails to build, deprecated. --- pkgs/development/libraries/haskell/EitherT/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/haskell/EitherT/default.nix b/pkgs/development/libraries/haskell/EitherT/default.nix index 66ccb6a8d4e..23467560530 100644 --- a/pkgs/development/libraries/haskell/EitherT/default.nix +++ b/pkgs/development/libraries/haskell/EitherT/default.nix @@ -12,5 +12,7 @@ cabal.mkDerivation (self: { license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = with self.stdenv.lib.maintainers; [ ocharles ]; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) From f63f6d5a3a9cce2a0bcc452556aa41b693040f47 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 18:06:20 +0000 Subject: [PATCH 108/248] haskell-happstack-server: bump version to 7.4.0 Fixes build error. Also doCheck and jailbreak no longer necessary. --- .../libraries/haskell/happstack/happstack-server.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix index 24b740736bf..15a1e90414e 100644 --- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix +++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "happstack-server"; - version = "7.3.9"; - sha256 = "10js2kmxw5lyy1h5xyz7qx852d29cl48qxyvadc4bdad6w06gdlz"; + version = "7.4.0"; + sha256 = "009y87g4wika9g0p58v8sdayh41rixkivhvi7j1dnxbm4qy89qpk"; buildDepends = [ base64Bytestring blazeHtml extensibleExceptions filepath hslogger html monadControl mtl network networkUri parsec sendfile syb @@ -18,8 +18,6 @@ cabal.mkDerivation (self: { transformersBase utf8String xhtml zlib ]; testDepends = [ HUnit parsec zlib ]; - jailbreak = true; - doCheck = false; meta = { homepage = "http://happstack.com"; description = "Web related tools and services"; From 082469bc81fc22ba40a38cdfbd4cf240b23759a1 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 18:07:23 +0000 Subject: [PATCH 109/248] haskell-jwt: declare missing deps --- pkgs/development/libraries/haskell/jwt/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/haskell/jwt/default.nix b/pkgs/development/libraries/haskell/jwt/default.nix index 90125ff7a00..dfab13e9132 100644 --- a/pkgs/development/libraries/haskell/jwt/default.nix +++ b/pkgs/development/libraries/haskell/jwt/default.nix @@ -1,9 +1,9 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! { cabal, aeson, base64Bytestring, cryptohash, dataDefault -, httpTypes, HUnit, network, networkUri, QuickCheck, scientific -, semigroups, tasty, tastyHunit, tastyQuickcheck, tastyTh, text -, time, unorderedContainers, vector +, httpTypes, HUnit, lens, lensAeson, network, networkUri +, QuickCheck, scientific, semigroups, tasty, tastyHunit +, tastyQuickcheck, tastyTh, text, time, unorderedContainers, vector }: cabal.mkDerivation (self: { @@ -16,8 +16,8 @@ cabal.mkDerivation (self: { vector ]; testDepends = [ - aeson base64Bytestring cryptohash dataDefault httpTypes HUnit - network networkUri QuickCheck scientific semigroups tasty + aeson base64Bytestring cryptohash dataDefault httpTypes HUnit lens + lensAeson network networkUri QuickCheck scientific semigroups tasty tastyHunit tastyQuickcheck tastyTh text time unorderedContainers vector ]; From ca7c4c2b5cf60db852e76cac83fb785afc563c9e Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 18:21:06 +0000 Subject: [PATCH 110/248] haskell-distributed-process-monad-control: version bump Fixes build failure --- .../haskell/distributed-process-monad-control/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/distributed-process-monad-control/default.nix b/pkgs/development/libraries/haskell/distributed-process-monad-control/default.nix index 14adad13844..d8de329a7de 100644 --- a/pkgs/development/libraries/haskell/distributed-process-monad-control/default.nix +++ b/pkgs/development/libraries/haskell/distributed-process-monad-control/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "distributed-process-monad-control"; - version = "0.5.0"; - sha256 = "1ja6xwdpssm7wafv2id6c3f49iw7pkks2smk6l1n1dxkh029z8nk"; + version = "0.5.1"; + sha256 = "01sdzmb8izsycxshhsg0pbx0mgn10y41df1dj1s66ish0qszw07m"; buildDepends = [ distributedProcess monadControl transformers transformersBase ]; From 51606074cd20f413966d699a2e49f7a45c4f0359 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 18:21:54 +0000 Subject: [PATCH 111/248] haskell-list-t: version bump --- pkgs/development/libraries/haskell/list-t/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/list-t/default.nix b/pkgs/development/libraries/haskell/list-t/default.nix index 9df455650f5..442ffc2028a 100644 --- a/pkgs/development/libraries/haskell/list-t/default.nix +++ b/pkgs/development/libraries/haskell/list-t/default.nix @@ -6,12 +6,12 @@ cabal.mkDerivation (self: { pname = "list-t"; - version = "0.3.0"; - sha256 = "091gz47gisajd2p0iwx0mw99bivfl7wpyddg1ypsvjv2qax94cm9"; + version = "0.4.2"; + sha256 = "0n6zc7n5znjas9mgh3a9bn44xv55910i6c3b2l83n4pl9fnad03v"; buildDepends = [ basePrelude mmorph monadControl transformers transformersBase ]; - testDepends = [ basePrelude HTF mtlPrelude ]; + testDepends = [ basePrelude HTF mmorph mtlPrelude ]; meta = { homepage = "https://github.com/nikita-volkov/list-t"; description = "ListT done right"; From a964403dae8de0e6098d6012c847294061526a20 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 18:22:27 +0000 Subject: [PATCH 112/248] haskell-higher-leveldb: version bump Fixes build failure --- pkgs/development/libraries/haskell/higher-leveldb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/higher-leveldb/default.nix b/pkgs/development/libraries/haskell/higher-leveldb/default.nix index 07afeea6a92..a25a37741d3 100644 --- a/pkgs/development/libraries/haskell/higher-leveldb/default.nix +++ b/pkgs/development/libraries/haskell/higher-leveldb/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "higher-leveldb"; - version = "0.2.0.0"; - sha256 = "1al8l96ysmcjx3g93ryfr939jqhjqk8g5bvww5gj9mx6pdkqrcm3"; + version = "0.2.1.0"; + sha256 = "13bwh9jg7smh8vwgrih79ivi073690l9nn478r5m0w64gbkvdm5p"; buildDepends = [ cereal dataDefault leveldbHaskell liftedBase monadControl mtl resourcet transformers transformersBase From 71f8367b28892db08a00f6a090f92525fb85f04a Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 18:23:20 +0000 Subject: [PATCH 113/248] haskell-rest-client: version bump Fixes build failure --- pkgs/development/libraries/haskell/rest-client/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/rest-client/default.nix b/pkgs/development/libraries/haskell/rest-client/default.nix index 248acc36226..a1a1ce6287b 100644 --- a/pkgs/development/libraries/haskell/rest-client/default.nix +++ b/pkgs/development/libraries/haskell/rest-client/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "rest-client"; - version = "0.4.0.1"; - sha256 = "1bn2kgyr6q0wxlp3kman20wn7jgz5dc6m8rq5xf0mknpbh8rrnpc"; + version = "0.4.0.5"; + sha256 = "11rsy9an7ck94ijafqd2ddichz0xgb01w2ybyg3iiwy5ckiy384s"; buildDepends = [ aesonUtils caseInsensitive dataDefault exceptionTransformers httpConduit httpTypes hxt hxtPickleUtils monadControl mtl primitive From a2c87d374f7d8a857d4d72612215b1b9ad6a4578 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 18:24:00 +0000 Subject: [PATCH 114/248] haskell-stm-conduit: version bump Fixes build failure --- pkgs/development/libraries/haskell/stm-conduit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/stm-conduit/default.nix b/pkgs/development/libraries/haskell/stm-conduit/default.nix index da79b401fc6..c13aa992317 100644 --- a/pkgs/development/libraries/haskell/stm-conduit/default.nix +++ b/pkgs/development/libraries/haskell/stm-conduit/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "stm-conduit"; - version = "2.5.2"; - sha256 = "1r8l9nznavxd0cg30mj7qdp9nq8jlcr0vcv8ljn6lfw67s0pk82x"; + version = "2.5.3"; + sha256 = "1jsij92i3rw2wz1166i58p0lxrbx0jndf1hi3kj92ccvnc3zg1iw"; buildDepends = [ async cereal cerealConduit conduit conduitExtra liftedAsync liftedBase monadControl monadLoops resourcet stm stmChans From 09c6d80ac049c5d7ab6dcd062bcfc61f3e5c8b94 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 18:46:31 +0000 Subject: [PATCH 115/248] haskell-webdriver: bump version Fixes build error, jailbreak no longer necessary --- pkgs/development/libraries/haskell/webdriver/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/webdriver/default.nix b/pkgs/development/libraries/haskell/webdriver/default.nix index 883359db9ff..7433f165e4d 100644 --- a/pkgs/development/libraries/haskell/webdriver/default.nix +++ b/pkgs/development/libraries/haskell/webdriver/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "webdriver"; - version = "0.6.0.3"; - sha256 = "1q0l9rs5j4cxzyqsy6r40y425359s246spk3g3pks7s47yynjn4q"; + version = "0.6.0.4"; + sha256 = "1miy65dl60gymf0a65kjykdmsl3cwcjrfg1iiyk6vkjz39y6y7qf"; buildDepends = [ aeson attoparsec base64Bytestring cond dataDefault directoryTree exceptions filepath httpClient httpTypes liftedBase monadControl @@ -18,7 +18,6 @@ cabal.mkDerivation (self: { transformersBase unorderedContainers vector zipArchive ]; testDepends = [ parallel text ]; - jailbreak = true; doCheck = false; meta = { homepage = "https://github.com/kallisti-dev/hs-webdriver"; From 32fd92e7dca97d307dcafd38921e0ec6d8e1ca13 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 18:48:48 +0000 Subject: [PATCH 116/248] haskell-hcltest: mark as broken Latest version on hackage fails to build. --- pkgs/development/libraries/haskell/hcltest/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/haskell/hcltest/default.nix b/pkgs/development/libraries/haskell/hcltest/default.nix index 579312982ab..c08f9e79bf0 100644 --- a/pkgs/development/libraries/haskell/hcltest/default.nix +++ b/pkgs/development/libraries/haskell/hcltest/default.nix @@ -21,5 +21,7 @@ cabal.mkDerivation (self: { description = "A testing library for command line applications"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) From 73f8aebd8d22b92e336f3eecdee66ba9e1ea817c Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sat, 7 Feb 2015 12:52:01 -0600 Subject: [PATCH 117/248] autonix: expose importManifest --- pkgs/build-support/autonix/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/build-support/autonix/default.nix b/pkgs/build-support/autonix/default.nix index e7d85cc5085..7751f8019c4 100644 --- a/pkgs/build-support/autonix/default.nix +++ b/pkgs/build-support/autonix/default.nix @@ -160,6 +160,7 @@ let in { inherit generateCollection; + inherit importManifest; inherit isDepAttr; inherit manifest; inherit removePkgDeps; From 042e4ad6338d3fea79ffd3ce2d6bbd16f58d5479 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sat, 7 Feb 2015 12:52:20 -0600 Subject: [PATCH 118/248] qt5split: add split submodule build of Qt 5.3 --- .gitignore | 1 + .../5.3-submodules/0001-dlopen-gtkstyle.patch | 63 ++++ .../0002-dlopen-webkit-nsplugin.patch | 53 +++ .../qt-5/5.3-submodules/0003-glib-2.32.patch | 25 ++ .../5.3-submodules/0004-dlopen-resolv.patch | 39 +++ .../qt-5/5.3-submodules/0005-dlopen-gl.patch | 25 ++ .../qt-5/5.3-submodules/0006-tzdir.patch | 52 +++ .../0007-dlopen-webkit-gtk.patch | 25 ++ .../0008-dlopen-webkit-udev.patch | 31 ++ .../0009-dlopen-serialport-udev.patch | 28 ++ .../0010-dlopen-libXcursor.patch | 29 ++ .../5.3-submodules/0011-dlopen-openssl.patch | 38 ++ .../5.3-submodules/0012-dlopen-dbus.patch | 25 ++ .../libraries/qt-5/5.3-submodules/default.nix | 330 ++++++++++++++++++ .../qt-5/5.3-submodules/manifest.nix | 166 +++++++++ .../libraries/qt-5/5.3-submodules/manifest.sh | 15 + .../qt-5/5.3-submodules/qt-submodule.nix | 62 ++++ .../libraries/qt-5/5.3-submodules/qtbase.nix | 174 +++++++++ pkgs/top-level/all-packages.nix | 2 + 19 files changed, 1183 insertions(+) create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/0001-dlopen-gtkstyle.patch create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/0002-dlopen-webkit-nsplugin.patch create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/0003-glib-2.32.patch create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/0004-dlopen-resolv.patch create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/0005-dlopen-gl.patch create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/0006-tzdir.patch create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/0007-dlopen-webkit-gtk.patch create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/0008-dlopen-webkit-udev.patch create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/0009-dlopen-serialport-udev.patch create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/0010-dlopen-libXcursor.patch create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/0011-dlopen-openssl.patch create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/0012-dlopen-dbus.patch create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/default.nix create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/manifest.nix create mode 100755 pkgs/development/libraries/qt-5/5.3-submodules/manifest.sh create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/qt-submodule.nix create mode 100644 pkgs/development/libraries/qt-5/5.3-submodules/qtbase.nix diff --git a/.gitignore b/.gitignore index 337672a92dd..a20a02b9a67 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,5 @@ result-* /pkgs/applications/kde-apps-*/tmp/ /pkgs/development/libraries/kde-frameworks-*/tmp/ +/pkgs/development/libraries/qt-5/*-submodules/tmp/ /pkgs/desktops/plasma-*/tmp/ \ No newline at end of file diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0001-dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0001-dlopen-gtkstyle.patch new file mode 100644 index 00000000000..3f411139f5b --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0001-dlopen-gtkstyle.patch @@ -0,0 +1,63 @@ +From 35d5995a58c86a6addbf0aaf0d1be64d39182872 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:21:58 -0600 +Subject: [PATCH] dlopen-gtkstyle + +--- + qtbase/src/widgets/styles/qgtk2painter.cpp | 2 +- + qtbase/src/widgets/styles/qgtkstyle_p.cpp | 12 ++++++------ + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/qtbase/src/widgets/styles/qgtk2painter.cpp b/qtbase/src/widgets/styles/qgtk2painter.cpp +index 7b9bd97..075947a 100644 +--- a/qtbase/src/widgets/styles/qgtk2painter.cpp ++++ b/qtbase/src/widgets/styles/qgtk2painter.cpp +@@ -104,7 +104,7 @@ static void initGtk() + static bool initialized = false; + if (!initialized) { + // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0 +- QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0); ++ QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0); + + QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new"); + QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable"); +diff --git a/qtbase/src/widgets/styles/qgtkstyle_p.cpp b/qtbase/src/widgets/styles/qgtkstyle_p.cpp +index 2c64225..3343d32 100644 +--- a/qtbase/src/widgets/styles/qgtkstyle_p.cpp ++++ b/qtbase/src/widgets/styles/qgtkstyle_p.cpp +@@ -334,7 +334,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus(GtkWidget *widget, bool focus) + void QGtkStylePrivate::resolveGtk() const + { + // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0 +- QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0); ++ QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0); + + gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init"); + gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new"); +@@ -432,8 +432,8 @@ void QGtkStylePrivate::resolveGtk() const + pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family"); + pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style"); + +- gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync"); +- gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init"); ++ gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync"); ++ gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init"); + } + + /* \internal +@@ -601,9 +601,9 @@ void QGtkStylePrivate::cleanupGtkWidgets() + static bool resolveGConf() + { + if (!QGtkStylePrivate::gconf_client_get_default) { +- QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default"); +- QGtkStylePrivate::gconf_client_get_string = (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string"); +- QGtkStylePrivate::gconf_client_get_bool = (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool"); ++ QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default"); ++ QGtkStylePrivate::gconf_client_get_string = (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string"); ++ QGtkStylePrivate::gconf_client_get_bool = (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool"); + } + return (QGtkStylePrivate::gconf_client_get_default !=0); + } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0002-dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0002-dlopen-webkit-nsplugin.patch new file mode 100644 index 00000000000..0752cdcf479 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0002-dlopen-webkit-nsplugin.patch @@ -0,0 +1,53 @@ +From 8c30f72dbe11752e8ed25f292c6e5695d7733f72 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:22:23 -0600 +Subject: [PATCH] dlopen-webkit-nsplugin + +--- + qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp | 2 +- + qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp | 2 +- + .../WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp +index 679480b..2c373cc 100644 +--- a/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp ++++ b/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp +@@ -132,7 +132,7 @@ static void initializeGtk(QLibrary* module = 0) + } + } + +- QLibrary library(QLatin1String("libgtk-x11-2.0"), 0); ++ QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0); + if (library.load()) { + typedef void *(*gtk_init_check_ptr)(int*, char***); + gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check"); +diff --git a/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp b/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp +index de06a2f..363bde5 100644 +--- a/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp ++++ b/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp +@@ -697,7 +697,7 @@ static Display *getPluginDisplay() + // support gdk based plugins (like flash) that use a different X connection. + // The code below has the same effect as this one: + // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); +- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); ++ QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0); + if (!library.load()) + return 0; + +diff --git a/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp +index d734ff6..62a2197 100644 +--- a/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp ++++ b/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp +@@ -64,7 +64,7 @@ static Display* getPluginDisplay() + // The code below has the same effect as this one: + // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); + +- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); ++ QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0); + if (!library.load()) + return 0; + +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0003-glib-2.32.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0003-glib-2.32.patch new file mode 100644 index 00000000000..4abb69da4d8 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0003-glib-2.32.patch @@ -0,0 +1,25 @@ +From a41c3e3a3a1ce4b373b1bbb98f3a835e9e8a0718 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:22:39 -0600 +Subject: [PATCH] glib-2.32 + +--- + qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +index 1f6d25e..087c3fb 100644 +--- a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h ++++ b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +@@ -81,7 +81,7 @@ + #include + #elif PLATFORM(GTK) + #include +-typedef struct _GMutex GMutex; ++typedef union _GMutex GMutex; + typedef struct _GCond GCond; + #endif + +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0004-dlopen-resolv.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0004-dlopen-resolv.patch new file mode 100644 index 00000000000..e6b921b771d --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0004-dlopen-resolv.patch @@ -0,0 +1,39 @@ +From 63af41c6eeca28c911c13b1a77afeaf860863c2d Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:22:55 -0600 +Subject: [PATCH] dlopen-resolv + +--- + qtbase/src/network/kernel/qdnslookup_unix.cpp | 2 +- + qtbase/src/network/kernel/qhostinfo_unix.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtbase/src/network/kernel/qdnslookup_unix.cpp b/qtbase/src/network/kernel/qdnslookup_unix.cpp +index 8c5a0eb..27ebf16 100644 +--- a/qtbase/src/network/kernel/qdnslookup_unix.cpp ++++ b/qtbase/src/network/kernel/qdnslookup_unix.cpp +@@ -87,7 +87,7 @@ static void resolveLibrary() + if (!lib.load()) + #endif + { +- lib.setFileName(QLatin1String("resolv")); ++ lib.setFileName(QLatin1String("@glibc/lib/resolv")); + if (!lib.load()) + return; + } +diff --git a/qtbase/src/network/kernel/qhostinfo_unix.cpp b/qtbase/src/network/kernel/qhostinfo_unix.cpp +index df8c8b1..613d0e0 100644 +--- a/qtbase/src/network/kernel/qhostinfo_unix.cpp ++++ b/qtbase/src/network/kernel/qhostinfo_unix.cpp +@@ -103,7 +103,7 @@ static void resolveLibrary() + if (!lib.load()) + #endif + { +- lib.setFileName(QLatin1String("resolv")); ++ lib.setFileName(QLatin1String("@glibc@/lib/libresolv")); + if (!lib.load()) + return; + } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0005-dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0005-dlopen-gl.patch new file mode 100644 index 00000000000..d112427bdd6 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0005-dlopen-gl.patch @@ -0,0 +1,25 @@ +From 6aaf6858bf817172a4c503158e1701c4837ee790 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:23:08 -0600 +Subject: [PATCH] dlopen-gl + +--- + qtbase/src/plugins/platforms/xcb/qglxintegration.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp b/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp +index 67235e0..2220a2e 100644 +--- a/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp ++++ b/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp +@@ -434,7 +434,7 @@ void (*QGLXContext::getProcAddress(const QByteArray &procName)) () + { + extern const QString qt_gl_library_name(); + // QLibrary lib(qt_gl_library_name()); +- QLibrary lib(QLatin1String("GL")); ++ QLibrary lib(QLatin1String("@openglDriver@/lib/libGL")); + glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); + } + } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0006-tzdir.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0006-tzdir.patch new file mode 100644 index 00000000000..d5a74b25fb3 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0006-tzdir.patch @@ -0,0 +1,52 @@ +From 775fd74351faaabd45f6751618b28e2b05812d05 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:23:22 -0600 +Subject: [PATCH] tzdir + +--- + qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) + +diff --git a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp +index b4ea91e..a56a245 100644 +--- a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp ++++ b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp +@@ -68,7 +68,10 @@ typedef QHash QTzTimeZoneHash; + // Parse zone.tab table, assume lists all installed zones, if not will need to read directories + static QTzTimeZoneHash loadTzTimeZones() + { +- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); ++ QString path = qgetenv("TZDIR"); ++ path += "/zone.tab"; ++ if (!QFile::exists(path)) ++ path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); + if (!QFile::exists(path)) + path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); + +@@ -559,12 +562,18 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId) + if (!tzif.open(QIODevice::ReadOnly)) + return; + } else { +- // Open named tz, try modern path first, if fails try legacy path +- tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ // Try TZDIR first ++ QString zoneinfoDir = qgetenv("TZDIR"); ++ zoneinfoDir += "/" + QString::fromLocal8Bit(ianaId); ++ tzif.setFileName(zoneinfoDir); + if (!tzif.open(QIODevice::ReadOnly)) { +- tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); +- if (!tzif.open(QIODevice::ReadOnly)) +- return; ++ // Open named tz, try modern path first, if fails try legacy path ++ tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) { ++ tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) ++ return; ++ } + } + } + +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0007-dlopen-webkit-gtk.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0007-dlopen-webkit-gtk.patch new file mode 100644 index 00000000000..9582b714c90 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0007-dlopen-webkit-gtk.patch @@ -0,0 +1,25 @@ +From 089db8835c80bf2b7dd91a97a5c6eb26636b6ab9 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:26:39 -0600 +Subject: [PATCH] dlopen-webkit-gtk + +--- + qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp +index 8de6521..0b25748 100644 +--- a/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp ++++ b/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp +@@ -53,7 +53,7 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr + + static bool initializeGtk() + { +- QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0); ++ QLibrary gtkLibrary(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0); + if (!gtkLibrary.load()) + return false; + typedef void* (*gtk_init_ptr)(void*, void*); +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0008-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0008-dlopen-webkit-udev.patch new file mode 100644 index 00000000000..e8a4ba6a215 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0008-dlopen-webkit-udev.patch @@ -0,0 +1,31 @@ +From 25d2922cce383fcaa4c138e0cc6c8d92328eeacb Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:30:41 -0600 +Subject: [PATCH] dlopen-webkit-udev + +--- + qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp b/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp +index 60ff317..da8ac69 100644 +--- a/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp ++++ b/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp +@@ -111,12 +111,12 @@ private: + bool load() + { + m_libUdev.setLoadHints(QLibrary::ResolveAllSymbolsHint); +- m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 1); ++ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1); + m_loaded = m_libUdev.load(); + if (resolveMethods()) + return true; + +- m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0); ++ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0); + m_loaded = m_libUdev.load(); + return resolveMethods(); + } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0009-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0009-dlopen-serialport-udev.patch new file mode 100644 index 00000000000..e1e66a3ce95 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0009-dlopen-serialport-udev.patch @@ -0,0 +1,28 @@ +From 17c7257e54c00ea2121f2cf95fb2be5e5db6b4ad Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:31:03 -0600 +Subject: [PATCH] dlopen-serialport-udev + +--- + qtserialport/src/serialport/qtudev_p.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtserialport/src/serialport/qtudev_p.h b/qtserialport/src/serialport/qtudev_p.h +index 09940ab..45460f9 100644 +--- a/qtserialport/src/serialport/qtudev_p.h ++++ b/qtserialport/src/serialport/qtudev_p.h +@@ -119,9 +119,9 @@ inline void *resolveSymbol(QLibrary *udevLibrary, const char *symbolName) + inline bool resolveSymbols(QLibrary *udevLibrary) + { + if (!udevLibrary->isLoaded()) { +- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1); + if (!udevLibrary->load()) { +- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0); + if (!udevLibrary->load()) { + qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0); + return false; +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0010-dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0010-dlopen-libXcursor.patch new file mode 100644 index 00000000000..49ade86fae3 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0010-dlopen-libXcursor.patch @@ -0,0 +1,29 @@ +From b56e3737ca97e3de664603976989da4419297eb3 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:33:51 -0600 +Subject: [PATCH] dlopen-libXcursor + +--- + qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp +index 6dbac90..4b23fc2 100644 +--- a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp ++++ b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp +@@ -305,10 +305,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen) + #ifdef XCB_USE_XLIB + static bool function_ptrs_not_initialized = true; + if (function_ptrs_not_initialized) { +- QLibrary xcursorLib(QLatin1String("Xcursor"), 1); ++ QLibrary xcursorLib(QLatin1String("@libXcursor@/lib/libXcursor"), 1); + bool xcursorFound = xcursorLib.load(); + if (!xcursorFound) { // try without the version number +- xcursorLib.setFileName(QLatin1String("Xcursor")); ++ xcursorLib.setFileName(QLatin1String("@libXcursor@/lib/Xcursor")); + xcursorFound = xcursorLib.load(); + } + if (xcursorFound) { +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0011-dlopen-openssl.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0011-dlopen-openssl.patch new file mode 100644 index 00000000000..d08061dd5dd --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0011-dlopen-openssl.patch @@ -0,0 +1,38 @@ +From 99d458c93698b2d4f16ff164ed54237279ffbb64 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:35:21 -0600 +Subject: [PATCH] dlopen-openssl + +--- + qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp +index 4e6200f..d9c3e7d 100644 +--- a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp ++++ b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp +@@ -585,8 +585,8 @@ static QPair loadOpenSsl() + #endif + #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so + // first attempt: the canonical name is libssl.so. +- libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER)); +- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER)); ++ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER)); ++ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER)); + if (libcrypto->load() && libssl->load()) { + // libssl.so. and libcrypto.so. found + return pair; +@@ -597,8 +597,8 @@ static QPair loadOpenSsl() + #endif + + // second attempt: find the development files libssl.so and libcrypto.so +- libssl->setFileNameAndVersion(QLatin1String("ssl"), -1); +- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1); ++ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), -1); ++ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), -1); + if (libcrypto->load() && libssl->load()) { + // libssl.so.0 and libcrypto.so.0 found + return pair; +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0012-dlopen-dbus.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0012-dlopen-dbus.patch new file mode 100644 index 00000000000..f32386e114b --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0012-dlopen-dbus.patch @@ -0,0 +1,25 @@ +From eec8a79c6cc9e2c65fd43db48ca2347de3ae0c5e Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:38:04 -0600 +Subject: [PATCH] dlopen-dbus + +--- + qtbase/src/dbus/qdbus_symbols.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtbase/src/dbus/qdbus_symbols.cpp b/qtbase/src/dbus/qdbus_symbols.cpp +index a7a1b67..661baf1 100644 +--- a/qtbase/src/dbus/qdbus_symbols.cpp ++++ b/qtbase/src/dbus/qdbus_symbols.cpp +@@ -93,7 +93,7 @@ bool qdbus_loadLibDBus() + + static int majorversions[] = { 3, 2, -1 }; + lib->unload(); +- lib->setFileName(QLatin1String("dbus-1")); ++ lib->setFileName(QLatin1String("@dbus_libs@/lib/libdbus-1")); + for (uint i = 0; i < sizeof(majorversions) / sizeof(majorversions[0]); ++i) { + lib->setFileNameAndVersion(lib->fileName(), majorversions[i]); + if (lib->load() && lib->resolve("dbus_connection_open_private")) +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/default.nix b/pkgs/development/libraries/qt-5/5.3-submodules/default.nix new file mode 100644 index 00000000000..607da4f589a --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/default.nix @@ -0,0 +1,330 @@ +{ autonix, fetchurl, newScope, stdenv + +, bison2 +, mesa_noglu +, cups +, gnome + +# options +, developerBuild ? false +}: + +with autonix; +with stdenv.lib; + +let + manifest = + importManifest ./manifest.nix { mirror = "http://download.qt.io"; }; + srcs = + mapAttrs (name: src: fetchurl { inherit (src) url sha256 name; }) manifest; + + version = "5.3.2"; + + callPackage = newScope (self // { inherit qtSubmodule; }); + + qtSubmodule = callPackage ./qt-submodule.nix { + inherit srcs version; + inherit (stdenv) mkDerivation; + }; + + self = + { + + activeqt = callPackage + ( + { qtSubmodule, base }: + + qtSubmodule { + name = "qtactiveqt"; + qtInputs = [ base ]; + } + ) + {}; + + base = callPackage ./qtbase.nix { + mesa = mesa_noglu; + cups = if stdenv.isLinux then cups else null; + # GNOME dependencies are not used unless gtkStyle == true + inherit (gnome) libgnomeui GConf gnome_vfs; + bison = bison2; # error: too few arguments to function 'int yylex(... + inherit developerBuild srcs version; + }; + + connectivity = callPackage + ( + { qtSubmodule, base, declarative }: + + qtSubmodule { + name = "qtconnectivity"; + qtInputs = [ base declarative ]; + } + ) + {}; + + declarative = callPackage + ( + { qtSubmodule, python, base, svg, xmlpatterns }: + + qtSubmodule { + name = "qtdeclarative"; + qtInputs = [ base svg xmlpatterns ]; + nativeBuildInputs = [ python ]; + } + ) + {}; + + doc = callPackage + ( + { qtSubmodule, declarative }: + + qtSubmodule { + name = "qtdoc"; + qtInputs = [ declarative ]; + } + ) + {}; + + enginio = callPackage + ( + { qtSubmodule, declarative }: + + qtSubmodule { + name = "qtenginio"; + qtInputs = [ declarative ]; + } + ) + {}; + + graphicaleffects = callPackage + ( + { qtSubmodule, declarative }: + + qtSubmodule { + name = "qtgraphicaleffects"; + qtInputs = [ declarative ]; + } + ) + {}; + + imageformats = callPackage + ( + { qtSubmodule, base }: + + qtSubmodule { + name = "qtimageformats"; + qtInputs = [ base ]; + } + ) + {}; + + location = callPackage + ( + { qtSubmodule, base, multimedia }: + + qtSubmodule { + name = "qtlocation"; + qtInputs = [ base multimedia ]; + } + ) + {}; + + multimedia = callPackage + ( + { qtSubmodule, base, declarative + , alsaLib, gstreamer, gst_plugins_base, pulseaudio + }: + + qtSubmodule { + name = "qtmultimedia"; + qtInputs = [ base declarative ]; + buildInputs = [ + alsaLib gstreamer gst_plugins_base pulseaudio + ]; + } + ) + {}; + + quick1 = callPackage + ( + { qtSubmodule, script, svg, webkit, xmlpatterns }: + + qtSubmodule { + name = "qtquick1"; + qtInputs = [ script svg webkit xmlpatterns ]; + } + ) + {}; + + quickcontrols = callPackage + ( + { qtSubmodule, declarative }: + + qtSubmodule { + name = "qtquickcontrols"; + qtInputs = [ declarative ]; + } + ) + {}; + + script = callPackage + ( + { qtSubmodule, base, tools }: + + qtSubmodule { + name = "qtscript"; + qtInputs = [ base tools ]; + patchFlags = "-p2"; # patches originally for monolithic build + patches = [ ./0003-glib-2.32.patch ]; + } + ) + {}; + + sensors = callPackage + ( + { qtSubmodule, base, declarative }: + + qtSubmodule { + name = "qtsensors"; + qtInputs = [ base declarative ]; + } + ) + {}; + + serialport = callPackage + ( + { qtSubmodule, base }: + + qtSubmodule { + name = "qtserialport"; + qtInputs = [ base ]; + patchFlags = "-p2"; # patches originally for monolithic build + patches = [ ./0009-dlopen-serialport-udev.patch ]; + } + ) + {}; + + svg = callPackage + ( + { qtSubmodule, base }: + + qtSubmodule { + name = "qtsvg"; + qtInputs = [ base ]; + } + ) + {}; + + tools = callPackage + ( + { qtSubmodule, activeqt, base, declarative, webkit }: + + qtSubmodule { + name = "qttools"; + qtInputs = [ activeqt base declarative webkit ]; + } + ) + {}; + + translations = callPackage + ( + { qtSubmodule, tools }: + + qtSubmodule { + name = "qttranslations"; + qtInputs = [ tools ]; + } + ) + {}; + + webkit = callPackage + ( + { qtSubmodule, declarative, location, multimedia, sensors + , fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt + , sqlite, udev + , bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby + , substituteAll + , flashplayerFix ? false + }: + + qtSubmodule { + name = "qtwebkit"; + qtInputs = [ declarative location multimedia sensors ]; + buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite ]; + nativeBuildInputs = [ + bison2 flex gdb gperf perl pkgconfig python ruby + ]; + patchFlags = "-p2"; # patches originally for monolithic build + patches = + optional flashplayerFix + (substituteAll + { + src = ./0002-dlopen-webkit-nsplugin.patch; + inherit gtk gdk_pixbuf; + } + ) + ++ optional flashplayerFix + (substituteAll + { + src = ./0007-dlopen-webkit-gtk.patch; + inherit gtk; + } + ) + ++ [ + (substituteAll + { + src = ./0008-dlopen-webkit-udev.patch; + inherit udev; + } + ) + ]; + } + ) + {}; + + webkit-examples = callPackage + ( + { qtSubmodule, tools, webkit }: + + qtSubmodule { + name = "qtwebkit-examples"; + qtInputs = [ tools webkit ]; + } + ) + {}; + + websockets = callPackage + ( + { qtSubmodule, base, declarative }: + + qtSubmodule { + name = "qtwebsockets"; + qtInputs = [ base declarative ]; + } + ) + {}; + + x11extras = callPackage + ( + { qtSubmodule, base }: + + qtSubmodule { + name = "qtx11extras"; + qtInputs = [ base ]; + } + ) + {}; + + xmlpatterns = callPackage + ( + { qtSubmodule, base }: + + qtSubmodule { + name = "qtxmlpatterns"; + qtInputs = [ base ]; + } + ) + {}; + + }; + +in self diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/manifest.nix b/pkgs/development/libraries/qt-5/5.3-submodules/manifest.nix new file mode 100644 index 00000000000..72e67575b00 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/manifest.nix @@ -0,0 +1,166 @@ +# This file is generated automatically. DO NOT EDIT! +{ mirror }: +[ + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qttranslations-opensource-src-5.3.2.tar.xz"; + sha256 = "1kf52crdg4a0p2pvm15slr2akiv5vcaj2g4f9iqqirg90pq4idi9"; + name = "qttranslations-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/b49c2shv2x09l8887x9xd78j30azaihg-qttranslations-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtconnectivity-opensource-src-5.3.2.tar.xz"; + sha256 = "0vq9v7dw8d3p2x45zzm96wvp8l1n76af3xzjs8p7bscpasw75f9f"; + name = "qtconnectivity-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/7282a9bbvk9yvbp47yp3rh708cc6a2ic-qtconnectivity-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtwinextras-opensource-src-5.3.2.tar.xz"; + sha256 = "06g5ny3vfwfvh8aa6dhgypy446bj486ks6a3hwah2mzz911ywfgn"; + name = "qtwinextras-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/iy9p8g3x5jl4ysxsm0zac8ac32x8xh45-qtwinextras-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtmultimedia-opensource-src-5.3.2.tar.xz"; + sha256 = "02qf98kv48bvpff85sz49y965if7jlfx98vxf0y78crzr5kaqpr5"; + name = "qtmultimedia-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/q7nvs99p642dwv1lzxay1hws4x5apsf8-qtmultimedia-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtquick1-opensource-src-5.3.2.tar.xz"; + sha256 = "1yvkcbgcccy4bzf6xglnbjh23l5p9785lysfxphy7r40a64jwywv"; + name = "qtquick1-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/baqff20xa58d4njisddi6s97g4pjhfki-qtquick1-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtgraphicaleffects-opensource-src-5.3.2.tar.xz"; + sha256 = "1z3zpa3lj2kx9999ycg0ixffwr3k0g5wlnizgm41ja9xl5c2d3v8"; + name = "qtgraphicaleffects-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/vkm87abgwl8hpvfamjnnn6cj5gpxzqrf-qtgraphicaleffects-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qttools-opensource-src-5.3.2.tar.xz"; + sha256 = "0glq97mivf5mwqxanbg2j4n2nky2lpcigr8p8naizbj37p3csfax"; + name = "qttools-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/l9gccd50sxj01bsz30z6ncby9s24bf3y-qttools-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtimageformats-opensource-src-5.3.2.tar.xz"; + sha256 = "1m7283m1py4h11qj0rgz8bi7f474n2bnppnvrz0fsx1pnz7cn0yk"; + name = "qtimageformats-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/ikpxw4qp50w7cs54f90njz5llv0xza2l-qtimageformats-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtsvg-opensource-src-5.3.2.tar.xz"; + sha256 = "03z33bkkaxcnpnmk4klb775c1nrp835c4bf8r0678mgf0zrw5i8y"; + name = "qtsvg-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/wkp9660hiqavzimc88birm0ww7x5yycx-qtsvg-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtwebkit-opensource-src-5.3.2.tar.xz"; + sha256 = "0nrfv57xpzgjk5420jhk2mr46mn0mjdxhg0vw4rcrqg82pnj4wg4"; + name = "qtwebkit-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/9zvifykqvxic9f10672n7lxwxkl90886-qtwebkit-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtsensors-opensource-src-5.3.2.tar.xz"; + sha256 = "1r1sjl41v8yij5b5lph7jkb2yxxaj1p8dyx1qzp0awdx5z29sdgr"; + name = "qtsensors-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/x551nn8q8cflm99v2q3gk78vhayqb0bb-qtsensors-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtmacextras-opensource-src-5.3.2.tar.xz"; + sha256 = "023q4v6drichy6s6mn3jd2lxzj2cma7y35wyzx3wa7rhvznplzlb"; + name = "qtmacextras-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/kfb05hiq7dc1djiy92nxvskshfjzyydx-qtmacextras-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtlocation-opensource-src-5.3.2.tar.xz"; + sha256 = "1mqlk09kccjxzrxxd5kv2w343kmnk8jxgfyb7adkhd8wacmhgd1p"; + name = "qtlocation-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/pcfivvnnw5j5p3gk5r3gdf4iv974l323-qtlocation-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtscript-opensource-src-5.3.2.tar.xz"; + sha256 = "1gnpsvlkqfws3rsgzlxnd63w2h9f142hfg4bsb3h4d4rihn0063f"; + name = "qtscript-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/fjsvvkw7a39v85r8mwbpvki9zps1qcms-qtscript-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtquickcontrols-opensource-src-5.3.2.tar.xz"; + sha256 = "0knryszjfhk2x7h5d9b07cil0mzqn4hlp5d8maq42w889l0hz2az"; + name = "qtquickcontrols-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/2mlnavd1zjsp1vwnvi2gwgvw6wl3fpgc-qtquickcontrols-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtactiveqt-opensource-src-5.3.2.tar.xz"; + sha256 = "07sbgibmj4m9jywdz3ilmz1s6zh57himqhc2a62k78r0xx48chz1"; + name = "qtactiveqt-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/x1zpipa51v97w16dphdbbxn1mg096g2g-qtactiveqt-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qt5-opensource-src-5.3.2.tar.xz"; + sha256 = "0xj18bbamg921y8y8pzjxs2sciyrwvvr7wzh43pjpkiacs13r08a"; + name = "qt5-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/y1gks060bhnzan3af703i00l50kbmn4z-qt5-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtxmlpatterns-opensource-src-5.3.2.tar.xz"; + sha256 = "1fqsxkbzf2iwzc2m5qccw1gan2ddbr15xjgjr9sp84cy0c3h7axc"; + name = "qtxmlpatterns-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/z4g2py09bn400hfxh9n6ssqn9xnr5g7g-qtxmlpatterns-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtdoc-opensource-src-5.3.2.tar.xz"; + sha256 = "17ahdsj8hssi1dfwxbxq11mi0lpy75c3z5mwswd13l9lnvpm6d0b"; + name = "qtdoc-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/78sa59m008x9vcpiky2i2maql6d20wa8-qtdoc-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtwebkit-examples-opensource-src-5.3.2.tar.xz"; + sha256 = "10k45492afbqffx5jab8784spp9ihclgxqn0kviy5n5pcc41l268"; + name = "qtwebkit-examples-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/39809byxmwz1wzchr6fd0b4qqd2p18mj-qtwebkit-examples-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtenginio-opensource-src-5.3.2.tar.xz"; + sha256 = "027pdbgiaf1ypcb054x1mgdn5r9ph6hr09p4h2rrsd3avib4df6m"; + name = "qtenginio-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/dmng42dg4s3sllzv27pz03gj8ys6i3a8-qtenginio-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtwebsockets-opensource-src-5.3.2.tar.xz"; + sha256 = "1hiq7bkpffjpmx4kvp4xldgq8sm7r9xyfak410g7p8hg7d0kslv0"; + name = "qtwebsockets-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/74gkwn4mqmq8if54492fk3mv0bgjjs12-qtwebsockets-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtandroidextras-opensource-src-5.3.2.tar.xz"; + sha256 = "0a66f8s4wgb9s0k5bqc98kd5qf6qypxn1qhzcwqc3qqrfv69pwmy"; + name = "qtandroidextras-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/0121pysghq6bxjx0l0isjfhjc283ncci-qtandroidextras-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtserialport-opensource-src-5.3.2.tar.xz"; + sha256 = "0jsszlv4v45wx8m9rj0398c6i534dwfcjvb7b1wyaq5y135y11m8"; + name = "qtserialport-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/7xkgwk3l565bvcmzadywjcpbydgbv688-qtserialport-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtx11extras-opensource-src-5.3.2.tar.xz"; + sha256 = "0lbjq6014nz68xhg0mzmm92pm9r45jgaw82a1c41igz0bg4jhsna"; + name = "qtx11extras-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/93rdyp4p1qz8cd7cn7gixjch23m71xqf-qtx11extras-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtdeclarative-opensource-src-5.3.2.tar.xz"; + sha256 = "10i3id206vzvxc3rwa4mykwmbxc13mf8psapq6a06b34p69q2404"; + name = "qtdeclarative-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/kf843n3710cancfcdicb17s8hxg628yr-qtdeclarative-opensource-src-5.3.2.tar.xz"; + } + { + url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtbase-opensource-src-5.3.2.tar.xz"; + sha256 = "1f3chbblfwyhj4qll6gd05jw7qgvcmqc12xbvpb9kbkdqid0j5ls"; + name = "qtbase-opensource-src-5.3.2.tar.xz"; + store = "/nix/store/l38yd5yrm35r812pdigxczqzv2h3k7r9-qtbase-opensource-src-5.3.2.tar.xz"; + } +] diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/manifest.sh b/pkgs/development/libraries/qt-5/5.3-submodules/manifest.sh new file mode 100755 index 00000000000..6f713511531 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/manifest.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +if [ $# -eq 0 ]; then + + # The extra slash at the end of the URL is necessary to stop wget + # from recursing over the whole server! (No, it's not a bug.) + $(nix-build ../../../../.. -A autonix.manifest) \ + http://download.qt.io/official_releases/qt/5.3/5.3.2/submodules/ \ + -A '*.tar.xz' + +else + + $(nix-build ../../../.. -A autonix.manifest) -A '*.tar.xz' "$@" + +fi diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/qt-submodule.nix b/pkgs/development/libraries/qt-5/5.3-submodules/qt-submodule.nix new file mode 100644 index 00000000000..6f9278e98ff --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/qt-submodule.nix @@ -0,0 +1,62 @@ +{ stdenv, mkDerivation +, srcs, version +, lndir +, base +}: + +with stdenv.lib; + +args: + +mkDerivation (args // { + + name = "${args.name}-${version}"; + inherit version; + + srcs = args.srcs or [srcs."${args.name}-opensource-src"]; + + preConfigure = '' + mkdir -p "$out" + + for qtInput in ${concatStringsSep " " args.qtInputs}; do + lndir "$qtInput" "$out" + done + + # Only this package's nix-support files go in $out + rm -fr $out/nix-support + + # Override hardcoded paths in qmake + rm -f $out/bin/qmake + cp "${base}/bin/qmake" "$out/bin/qmake" + rm -f $out/bin/qt.conf + cat <$out/bin/qt.conf +[Paths] +Prefix = $out +EOF + export PATH=$out/bin:$PATH + '' + (args.preConfigure or ""); + + dontAddPrefix = args.dontAddPrefix or true; + dontFixLibtool = args.dontFixLibtool or true; + configureScript = args.configureScript or "qmake"; + + postInstall = '' + rm "$out/bin/qmake" "$out/bin/qt.conf" + ''; + + propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); + + nativeBuildInputs = [ lndir ] ++ (args.nativeBuildInputs or []); + + enableParallelBuilding = + args.enableParallelBuilding or true; # often fails on Hydra, as well as qt4 + + meta = args.meta or { + homepage = http://qt-project.org; + description = "A cross-platform application framework for C++"; + license = "GPL/LGPL"; + maintainers = with maintainers; [ bbenoist qknight ttuegel ]; + platforms = platforms.linux; + }; + +}) diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/qtbase.nix b/pkgs/development/libraries/qt-5/5.3-submodules/qtbase.nix new file mode 100644 index 00000000000..40f29f2d3fe --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/qtbase.nix @@ -0,0 +1,174 @@ +{ stdenv, substituteAll +, srcs, version + +, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi +, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon +, fontconfig, freetype, openssl, dbus, glib, udev, libxml2, libxslt, pcre +, zlib, libjpeg, libpng, libtiff, sqlite, icu + +, coreutils, bison, flex, gdb, gperf, ruby +, python, perl, pkgconfig + +# optional dependencies +, cups ? null +, mysql ? null, postgresql ? null + +# options +, mesaSupported, mesa, mesa_glu +, buildDocs ? false +, buildExamples ? false +, buildTests ? false +, developerBuild ? false +, gtkStyle ? false, libgnomeui, GConf, gnome_vfs, gtk +}: + +with stdenv.lib; + +stdenv.mkDerivation { + + name = "qtbase-${version}"; + inherit version; + + srcs = with srcs; [ qt5-opensource-src qtbase-opensource-src ]; + sourceRoot = "qt-everywhere-opensource-src-${version}"; + + postUnpack = '' + mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase + ''; + + prePatch = '' + substituteInPlace configure --replace /bin/pwd pwd + substituteInPlace qtbase/configure --replace /bin/pwd pwd + substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls + substituteInPlace qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \ + --replace /usr/share/X11/locale ${libX11}/share/X11/locale \ + --replace /usr/lib/X11/locale ${libX11}/share/X11/locale + sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf + ''; + + patches = + optional gtkStyle + (substituteAll { + src = ./0001-dlopen-gtkstyle.patch; + # substituteAll ignores env vars starting with capital letter + gconf = GConf; + inherit gnome_vfs libgnomeui gtk; + }) + ++ [ + (substituteAll { + src = ./0004-dlopen-resolv.patch; + glibc = stdenv.cc.libc; + }) + (substituteAll { + src = ./0005-dlopen-gl.patch; + openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path"; + }) + ./0006-tzdir.patch + (substituteAll { src = ./0010-dlopen-libXcursor.patch; inherit libXcursor; }) + (substituteAll { src = ./0011-dlopen-openssl.patch; inherit openssl; }) + (substituteAll { src = ./0012-dlopen-dbus.patch; dbus_libs = dbus; }) + ]; + + preConfigure = '' + export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH" + export MAKEFLAGS=-j$NIX_BUILD_CORES + ''; + + prefixKey = "-prefix "; + + # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa + # TODO Remove obsolete and useless flags once the build will be totally mastered + configureFlags = '' + -verbose + -confirm-license + -opensource + + -release + -shared + -c++11 + ${optionalString developerBuild "-developer-build"} + -largefile + -accessibility + -rpath + -optimized-qmake + -strip + -reduce-relocations + -system-proxies + + -gui + -widgets + -opengl desktop + -qml-debug + -nis + -iconv + -icu + -pch + -glib + -xcb + -qpa xcb + -${optionalString (cups == null) "no-"}cups + + -no-eglfs + -no-directfb + -no-linuxfb + -no-kms + + -system-zlib + -system-libpng + -system-libjpeg + -system-xcb + -system-xkbcommon + -openssl-linked + -dbus-linked + + -system-sqlite + -${if mysql != null then "plugin" else "no"}-sql-mysql + -${if postgresql != null then "plugin" else "no"}-sql-psql + + -make libs + -make tools + -${optionalString (buildExamples == false) "no"}make examples + -${optionalString (buildTests == false) "no"}make tests + ''; + + propagatedBuildInputs = [ + xlibs.libXcomposite libX11 libxcb libXext libXrender libXi + fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre + zlib libjpeg libpng libtiff sqlite icu + xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon + ] + # Qt doesn't directly need GLU (just GL), but many apps use, it's small and + # doesn't remain a runtime-dep if not used + ++ optionals mesaSupported [ mesa mesa_glu ] + ++ optional (cups != null) cups + ++ optional (mysql != null) mysql + ++ optional (postgresql != null) postgresql; + + buildInputs = [ gdb bison flex gperf ruby ]; + + nativeBuildInputs = [ python perl pkgconfig ]; + + # freetype-2.5.4 changed signedness of some struct fields + NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"; + + postInstall = + '' + ${optionalString buildDocs '' + make docs && make install_docs + ''} + + # Don't retain build-time dependencies like gdb and ruby. + sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri + ''; + + enableParallelBuilding = true; # often fails on Hydra, as well as qt4 + + meta = { + homepage = http://qt-project.org; + description = "A cross-platform application framework for C++"; + license = "GPL/LGPL"; + maintainers = with maintainers; [ bbenoist qknight ttuegel ]; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5686b9298c7..ae61e5b0aaa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7030,6 +7030,8 @@ let bison = bison2; # error: too few arguments to function 'int yylex(... }; + qt5split = callPackage ../development/libraries/qt-5/5.3-submodules {}; + qt5Full = appendToName "full" (qt5.override { buildDocs = true; buildExamples = true; From c336769408db9c641aece5dedb3bd52aecdbcc19 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 18:52:36 +0000 Subject: [PATCH 119/248] haskell-shell-conduit: mark as broken Latest version fails to build. --- pkgs/development/libraries/haskell/shell-conduit/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/haskell/shell-conduit/default.nix b/pkgs/development/libraries/haskell/shell-conduit/default.nix index ce5507832e1..a93e38b1b82 100644 --- a/pkgs/development/libraries/haskell/shell-conduit/default.nix +++ b/pkgs/development/libraries/haskell/shell-conduit/default.nix @@ -19,5 +19,7 @@ cabal.mkDerivation (self: { description = "Write shell scripts with Conduit"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) From 677dee38dbb3b64dcc924e49c4cc4888b7d5d9c8 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 18:55:49 +0000 Subject: [PATCH 120/248] haskell-simple-conduit: jailbreak required --- pkgs/development/libraries/haskell/simple-conduit/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/simple-conduit/default.nix b/pkgs/development/libraries/haskell/simple-conduit/default.nix index f1ad007c8f9..49e574772f1 100644 --- a/pkgs/development/libraries/haskell/simple-conduit/default.nix +++ b/pkgs/development/libraries/haskell/simple-conduit/default.nix @@ -16,6 +16,7 @@ cabal.mkDerivation (self: { primitive semigroups stm streamingCommons text transformers transformersBase vector ]; + jailbreak = true; meta = { homepage = "http://github.com/jwiegley/simple-conduit"; description = "A simple streaming I/O library based on monadic folds"; From 90e1ba68be42de4b1a3ee4dd5e1b180f5065a277 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 18:57:10 +0000 Subject: [PATCH 121/248] haskell-iteratee: mark as broken Latest version fails to build. --- pkgs/development/libraries/haskell/iteratee/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/haskell/iteratee/default.nix b/pkgs/development/libraries/haskell/iteratee/default.nix index e0130f8ae26..b0dd47468d9 100644 --- a/pkgs/development/libraries/haskell/iteratee/default.nix +++ b/pkgs/development/libraries/haskell/iteratee/default.nix @@ -23,5 +23,7 @@ cabal.mkDerivation (self: { description = "Iteratee-based I/O"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) From 4b2433f156508c8b061599bf5e794e83ab44871e Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 19:01:09 +0000 Subject: [PATCH 122/248] haskell-hsc3-server: mark as broken Latest version fails to build. --- pkgs/development/libraries/haskell/hsc3-server/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/haskell/hsc3-server/default.nix b/pkgs/development/libraries/haskell/hsc3-server/default.nix index 31f59ed8741..c8e78e4e7ea 100644 --- a/pkgs/development/libraries/haskell/hsc3-server/default.nix +++ b/pkgs/development/libraries/haskell/hsc3-server/default.nix @@ -26,5 +26,7 @@ cabal.mkDerivation (self: { description = "SuperCollider server resource management and synchronization"; license = "GPL"; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) From 9cc3a7771c8afd7138488eb1b9b479c87b1664dd Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 7 Feb 2015 19:09:23 +0000 Subject: [PATCH 123/248] haskell-fb: bump version Fixes build --- pkgs/development/libraries/haskell/fb/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/fb/default.nix b/pkgs/development/libraries/haskell/fb/default.nix index f257d26c7d3..b325af923d7 100644 --- a/pkgs/development/libraries/haskell/fb/default.nix +++ b/pkgs/development/libraries/haskell/fb/default.nix @@ -10,8 +10,8 @@ cabal.mkDerivation (self: { pname = "fb"; - version = "1.0.7"; - sha256 = "0ghyddxf4aqidqvbm93pjgaban0whfj4y1w11b7nxy89srhyjhh8"; + version = "1.0.8"; + sha256 = "1cv722kkp6lbxajv3ka4088x2491yy41cfypqqkq753mm59x6s9m"; buildDepends = [ aeson attoparsec base16Bytestring base64Bytestring cereal conduit conduitExtra cryptoApi cryptohash cryptohashCryptoapi dataDefault @@ -22,7 +22,6 @@ cabal.mkDerivation (self: { aeson conduit dataDefault hspec httpConduit HUnit liftedBase monadControl QuickCheck resourcet text time transformers ]; - jailbreak = true; doCheck = false; meta = { homepage = "https://github.com/prowdsponsor/fb"; From 0ea09cf9262fe02a39f60d765d8b00a815217154 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 12:04:43 -0800 Subject: [PATCH 124/248] kernel: 3.10.67 -> 3.10.68 --- pkgs/os-specific/linux/kernel/linux-3.10.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix index 0d7a0d30171..5a27d289417 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.10.67"; + version = "3.10.68"; extraMeta.branch = "3.10"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "158g3c643gfqwf92d665lq40rs92vizj5x1pi3w9xy1k53ldw5ia"; + sha256 = "13r8xd1qv2cmzk9dzh6xzy0sr4yf301a959lnf7v7ji3bs7gzp4a"; }; features.iwlwifi = true; From 321743728d4362f2f2a1358a3974da954d9396f6 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 12:05:42 -0800 Subject: [PATCH 125/248] kernel: Remove outdated kernel 3.17 --- pkgs/os-specific/linux/kernel/linux-3.17.nix | 17 ----------------- pkgs/top-level/all-packages.nix | 11 ----------- 2 files changed, 28 deletions(-) delete mode 100644 pkgs/os-specific/linux/kernel/linux-3.17.nix diff --git a/pkgs/os-specific/linux/kernel/linux-3.17.nix b/pkgs/os-specific/linux/kernel/linux-3.17.nix deleted file mode 100644 index 5c1aa2a04a1..00000000000 --- a/pkgs/os-specific/linux/kernel/linux-3.17.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ stdenv, fetchurl, ... } @ args: - -import ./generic.nix (args // rec { - version = "3.17.8"; - extraMeta.branch = "3.17"; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0g2q0pnsbsfwzk9rl2ggkfhsmj9bzmy9lccclpd98zfw7kflz8ca"; - }; - - features.iwlwifi = true; - features.efiBootStub = true; - features.needsCifsUtils = true; - features.canDisableNetfilterConntrackHelpers = true; - features.netfilterRPFilter = true; -} // (args.argsOverride or {})) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9b74bae615e..7531fbf308b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8630,16 +8630,6 @@ let ]; }; - linux_3_17 = makeOverridable (import ../os-specific/linux/kernel/linux-3.17.nix) { - inherit fetchurl stdenv perl buildLinux; - kernelPatches = [ kernelPatches.bridge_stp_helper ] - ++ lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - kernelPatches.mips_ext3_n32 - ]; - }; - linux_3_18 = makeOverridable (import ../os-specific/linux/kernel/linux-3.18.nix) { inherit fetchurl stdenv perl buildLinux; kernelPatches = [ kernelPatches.bridge_stp_helper ] @@ -8806,7 +8796,6 @@ let linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice; linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12); linuxPackages_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_14 linuxPackages_3_14); - linuxPackages_3_17 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_17 linuxPackages_3_17); linuxPackages_3_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_18 linuxPackages_3_18); linuxPackages_testing = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing linuxPackages_testing); From f103b0f78b2e22512b785845f2039547a0c6fad9 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 12:04:56 -0800 Subject: [PATCH 126/248] kernel: 3.18.5 -> 3.18.6 --- pkgs/os-specific/linux/kernel/linux-3.18.nix | 4 ++-- pkgs/os-specific/linux/kernel/patches.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.18.nix b/pkgs/os-specific/linux/kernel/linux-3.18.nix index ae6a3e3435a..73c17f6c1ca 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.18.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.18.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.18.5"; + version = "3.18.6"; # Remember to update grsecurity! extraMeta.branch = "3.18"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "147wf0igbsjlwhh8zam0xpw76ysc8cm2x3fkk2g1cx4wwlv28i74"; + sha256 = "1xaky9yqkpa63936z7h4x3pxp4z45jwhslxpg4nmgakk262a9hf4"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 3fa42322b58..246453721e6 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -72,10 +72,10 @@ rec { }; grsecurity_unstable = grsecPatch - { kversion = "3.18.5"; - revision = "201501310706"; + { kversion = "3.18.6"; + revision = "201502062100"; branch = "test"; - sha256 = "098jikfxh9sk097lrajyzf4x6dbxwwhpkirmqn25rn004y5y7ysn"; + sha256 = "11cy7qqkahd323hmi67r4psgryapk1qwamm9m15rhbfqgq428306"; }; grsec_fix_path = From c4d21cf1c4497f3f0fc04b65704ff6e324eb8813 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 12:04:49 -0800 Subject: [PATCH 127/248] kernel: 3.14.31 -> 3.14.32 --- pkgs/os-specific/linux/kernel/linux-3.14.nix | 4 ++-- pkgs/os-specific/linux/kernel/patches.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix index 05e0722103f..30af9e562e6 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.14.31"; + version = "3.14.32"; # Remember to update grsecurity! extraMeta.branch = "3.14"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1j271f1mz40kh7hw44az549dr2413vyg22nwsz61garyvrxndpd6"; + sha256 = "1dmmb8z641ak5fsm3al5j6ifh77dvm94npwhvwmr0wp6z8k76w02"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 246453721e6..6c8047ab1d4 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -65,10 +65,10 @@ rec { }; grsecurity_stable = grsecPatch - { kversion = "3.14.31"; - revision = "201501310705"; + { kversion = "3.14.32"; + revision = "201502062101"; branch = "stable"; - sha256 = "19zm0ynjnk01qcp157v60s313fxm45dx9cc30rnpfig03r5p0la8"; + sha256 = "1qni3x6kwrhgqbhwm02m9wnmz7y2ydwwxw9ckk06xyq3j9qgv3aj"; }; grsecurity_unstable = grsecPatch From a6a9d8137f5e08c33c270a7fb38a0ed55860fedf Mon Sep 17 00:00:00 2001 From: Arseniy Seroka Date: Sat, 7 Feb 2015 23:15:00 +0300 Subject: [PATCH 128/248] vimPlugins.youCompleteMe: fix name Using date instead of rev See https://github.com/NixOS/nixpkgs/pull/4499#issuecomment-58805580 for more info why. --- pkgs/misc/vim-plugins/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index ae9a671f70b..66d38595d3d 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -528,14 +528,13 @@ rec { }; YouCompleteMe = addRtp "${rtpPath}/youcompleteme" (stdenv.mkDerivation rec { - rev = "035b6ca862da3bba0ab8aad388a485758311a464"; src = fetchgit { - inherit rev; + rev = "035b6ca862da3bba0ab8aad388a485758311a464"; url = "https://github.com/Valloric/YouCompleteMe.git"; sha256 = "9cd8fc8bb9b35e7a164d62fa8e3a1bd3be7e18f4d46c78b5827612f32b9541d5"; }; - name = "vimplugin-youcompleteme-${rev}"; + name = "vimplugin-youcompleteme-2015-02-05"; buildInputs = [ python cmake llvmPackages.clang ]; From 674a6dd8fb3062115a3af88c138bf7fc368f6bed Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Wed, 28 Jan 2015 17:32:25 +0100 Subject: [PATCH 129/248] Add consul alerts --- pkgs/servers/consul/alerts.nix | 27 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/servers/consul/alerts.nix diff --git a/pkgs/servers/consul/alerts.nix b/pkgs/servers/consul/alerts.nix new file mode 100644 index 00000000000..b3dbb21d5bb --- /dev/null +++ b/pkgs/servers/consul/alerts.nix @@ -0,0 +1,27 @@ +{ lib, goPackages, fetchFromGitHub }: + +with goPackages; + +buildGoPackage rec { + name = "consul-alerts-${version}"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "AcalephStorage"; + repo = "consul-alerts"; + rev = "v${version}"; + sha256 = "02rgz68g3i408biq2aqilpqraqirzmba9mh7avdga5bljp427jgn"; + }; + + goPackagePath = "github.com/AcalephStorage/consul-alerts"; + dontInstallSrc = true; + subPackages = [ "./" ]; + + meta = with lib; { + description = "A simple daemon to send notifications based on Consul health checks"; + homepage = https://github.com/AcalephStorage/consul-alerts; + license = licenses.gpl2; + maintainers = with maintainers; [ offline ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f80f53292c4..2e447162a88 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -699,6 +699,8 @@ let consul_ui = consul.ui; + consul-alerts = callPackage ../servers/consul/alerts.nix { }; + corosync = callPackage ../servers/corosync { }; cherrytree = callPackage ../applications/misc/cherrytree { }; From fe03dc1a10caa0f21ca912b67a22be032ffbb91a Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 13:38:49 -0800 Subject: [PATCH 130/248] spl_git: Update to latest --- pkgs/os-specific/linux/spl/git.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/spl/git.nix b/pkgs/os-specific/linux/spl/git.nix index d03f8644bdf..772cad567c9 100644 --- a/pkgs/os-specific/linux/spl/git.nix +++ b/pkgs/os-specific/linux/spl/git.nix @@ -5,8 +5,8 @@ stdenv.mkDerivation { src = fetchgit { url = git://github.com/zfsonlinux/spl.git; - rev = "54cccfc2e30fa84463c056e8ad04b2be9448999e"; - sha256 = "07nbrq3li51lvncqvj4rzgdw9bnfzr4bc5qqwizrgangd839jlkx"; + rev = "086476f92005506cb07e75f889e8ddb69026e842"; + sha256 = "1n3cjdwxccvcns7jydgznkb6jy0p59qx1yg512jjf4m9hf5p2pwm"; }; patches = [ ./const.patch ./install_prefix-git.patch ]; From 73c7c7978c1b5108495ff5dfa4b475c997980e22 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 13:39:06 -0800 Subject: [PATCH 131/248] zfs_git: Update to latest and add the compatability patch --- .../linux/zfs/3.19-compat-git.patch | 146 ++++++++++++++++++ pkgs/os-specific/linux/zfs/git.nix | 5 +- 2 files changed, 149 insertions(+), 2 deletions(-) create mode 100644 pkgs/os-specific/linux/zfs/3.19-compat-git.patch diff --git a/pkgs/os-specific/linux/zfs/3.19-compat-git.patch b/pkgs/os-specific/linux/zfs/3.19-compat-git.patch new file mode 100644 index 00000000000..07c4eb55acd --- /dev/null +++ b/pkgs/os-specific/linux/zfs/3.19-compat-git.patch @@ -0,0 +1,146 @@ +From 5a562310d706c3c2f2adc067fe73f1061c4fc386 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= +Date: Sat, 7 Feb 2015 13:41:01 +0100 +Subject: [PATCH] Linux 3.19 compat: file_inode was added + +struct access f->f_dentry->d_inode was replaced by accessor function +file_inode(f) +--- + config/kernel-file-inode.m4 | 20 ++++++++++++++++++++ + config/kernel.m4 | 1 + + include/linux/Makefile.am | 1 + + include/linux/fs_compat.h | 38 ++++++++++++++++++++++++++++++++++++++ + include/sys/zpl.h | 1 + + module/zfs/zpl_file.c | 4 ++-- + 6 files changed, 63 insertions(+), 2 deletions(-) + create mode 100644 config/kernel-file-inode.m4 + create mode 100644 include/linux/fs_compat.h + +diff --git a/config/kernel-file-inode.m4 b/config/kernel-file-inode.m4 +new file mode 100644 +index 0000000..13af4e6 +--- /dev/null ++++ b/config/kernel-file-inode.m4 +@@ -0,0 +1,20 @@ ++dnl # ++dnl # 3.19 API change ++dnl # struct access f->f_dentry->d_inode was replaced by accessor function ++dnl # file_inode(f) ++dnl # ++AC_DEFUN([ZFS_AC_KERNEL_FILE_INODE], [ ++ AC_MSG_CHECKING([whether file_inode() is available]) ++ ZFS_LINUX_TRY_COMPILE([ ++ #include ++ ],[ ++ struct file *f = NULL; ++ file_inode(f); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_FILE_INODE, 1, ++ [file_inode() is available]) ++ ],[ ++ AC_MSG_RESULT(no) ++ ]) ++]) +diff --git a/config/kernel.m4 b/config/kernel.m4 +index bdfb19c..e0b7954 100644 +--- a/config/kernel.m4 ++++ b/config/kernel.m4 +@@ -61,6 +61,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ + ZFS_AC_KERNEL_INODE_OPERATIONS_GET_ACL + ZFS_AC_KERNEL_CURRENT_UMASK + ZFS_AC_KERNEL_SHOW_OPTIONS ++ ZFS_AC_KERNEL_FILE_INODE + ZFS_AC_KERNEL_FSYNC + ZFS_AC_KERNEL_EVICT_INODE + ZFS_AC_KERNEL_DIRTY_INODE_WITH_FLAGS +diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am +index d00b1c8..480af26 100644 +--- a/include/linux/Makefile.am ++++ b/include/linux/Makefile.am +@@ -4,6 +4,7 @@ KERNEL_H = \ + $(top_srcdir)/include/linux/dcache_compat.h \ + $(top_srcdir)/include/linux/xattr_compat.h \ + $(top_srcdir)/include/linux/vfs_compat.h \ ++ $(top_srcdir)/include/linux/fs_compat.h \ + $(top_srcdir)/include/linux/blkdev_compat.h \ + $(top_srcdir)/include/linux/utsname_compat.h + +diff --git a/include/linux/fs_compat.h b/include/linux/fs_compat.h +new file mode 100644 +index 0000000..7860d75 +--- /dev/null ++++ b/include/linux/fs_compat.h +@@ -0,0 +1,38 @@ ++/* ++ * CDDL HEADER START ++ * ++ * The contents of this file are subject to the terms of the ++ * Common Development and Distribution License (the "License"). ++ * You may not use this file except in compliance with the License. ++ * ++ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE ++ * or http://www.opensolaris.org/os/licensing. ++ * See the License for the specific language governing permissions ++ * and limitations under the License. ++ * ++ * When distributing Covered Code, include this CDDL HEADER in each ++ * file and include the License file at usr/src/OPENSOLARIS.LICENSE. ++ * If applicable, add the following below this CDDL HEADER, with the ++ * fields enclosed by brackets "[]" replaced with your own identifying ++ * information: Portions Copyright [yyyy] [name of copyright owner] ++ * ++ * CDDL HEADER END ++ */ ++ ++/* ++ * Copyright (C) 2015 Jörg Thalheim. ++ */ ++ ++#ifndef _ZFS_FS_H ++#define _ZFS_FS_H ++ ++#include ++ ++#ifndef HAVE_FILE_INODE ++static inline struct inode *file_inode(const struct file *f) ++{ ++ return f->f_dentry->d_inode; ++} ++#endif /* HAVE_FILE_INODE */ ++ ++#endif /* _ZFS_FS_H */ +diff --git a/include/sys/zpl.h b/include/sys/zpl.h +index 3fc5d97..20eb27b 100644 +--- a/include/sys/zpl.h ++++ b/include/sys/zpl.h +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/module/zfs/zpl_file.c b/module/zfs/zpl_file.c +index 1f4f219..5f5bbba 100644 +--- a/module/zfs/zpl_file.c ++++ b/module/zfs/zpl_file.c +@@ -617,7 +617,7 @@ zpl_fallocate(struct file *filp, int mode, loff_t offset, loff_t len) + static int + zpl_ioctl_getflags(struct file *filp, void __user *arg) + { +- struct inode *ip = filp->f_dentry->d_inode; ++ struct inode *ip = file_inode(filp); + unsigned int ioctl_flags = 0; + uint64_t zfs_flags = ITOZ(ip)->z_pflags; + int error; +@@ -653,7 +653,7 @@ zpl_ioctl_getflags(struct file *filp, void __user *arg) + static int + zpl_ioctl_setflags(struct file *filp, void __user *arg) + { +- struct inode *ip = filp->f_dentry->d_inode; ++ struct inode *ip = file_inode(filp); + uint64_t zfs_flags = ITOZ(ip)->z_pflags; + unsigned int ioctl_flags; + cred_t *cr = CRED(); diff --git a/pkgs/os-specific/linux/zfs/git.nix b/pkgs/os-specific/linux/zfs/git.nix index 7ca8ed14787..06aac4f9c2d 100644 --- a/pkgs/os-specific/linux/zfs/git.nix +++ b/pkgs/os-specific/linux/zfs/git.nix @@ -5,12 +5,13 @@ stdenv.mkDerivation { src = fetchgit { url = git://github.com/zfsonlinux/zfs.git; - rev = "2c41df5bf8327f3bc6ee25cf2aa570bb159cb348"; - sha256 = "0bmpxcb1k99fs86qql8pblmr2w6bf1sgxc9igh1vhjl672ma6634"; + rev = "33b4de513ee81c2a87e1b954a9544a5eec1f8f94"; + sha256 = "07kdml65l22z1xi8jif5hr7zr7a8mykyms4f5yrf8nyad20kp6il"; }; patches = [ ./nix-build-git.patch + ./3.19-compat-git.patch # Remove once PR-3084 is mainlined ]; buildInputs = [ spl_git perl python autoconf automake libtool zlib libuuid coreutils ]; From 236029ef83764030683ce4a1aedbaaae7ceb0aaa Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 8 Feb 2015 01:08:50 +0300 Subject: [PATCH 132/248] Fix Lazarus build (somewhat) by referring to gcc libgcc_s.so by currently-woring attribute path --- pkgs/development/compilers/fpc/lazarus.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix index ef3d962d7d1..06c4f6bbe2b 100644 --- a/pkgs/development/compilers/fpc/lazarus.nix +++ b/pkgs/development/compilers/fpc/lazarus.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation { ]; preBuild = '' export makeFlags="$makeFlags LAZARUS_INSTALL_DIR=$out/lazarus/ INSTALL_PREFIX=$out/" - export NIX_LDFLAGS="$NIX_LDFLAGS -lXi -lX11 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lc -lXext -lpango-1.0 -latk-1.0 -lgdk_pixbuf-2.0 -lcairo -lgcc_s" + export NIX_LDFLAGS="$NIX_LDFLAGS -L${stdenv.cc.cc}/lib -lXi -lX11 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lc -lXext -lpango-1.0 -latk-1.0 -lgdk_pixbuf-2.0 -lcairo -lgcc_s" export LCL_PLATFORM=gtk2 mkdir -p $out/share "$out/lazarus" tar xf ${fpc.src} --strip-components=1 -C $out/share -m From 91e6126a324add6306d2da90968347bd20f71d1f Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 14:32:35 -0800 Subject: [PATCH 133/248] spl: Modularize and create a userspace only package --- pkgs/os-specific/linux/spl/default.nix | 41 ++---------------- pkgs/os-specific/linux/spl/generic.nix | 60 ++++++++++++++++++++++++++ pkgs/os-specific/linux/spl/git.nix | 42 ++---------------- pkgs/top-level/all-packages.nix | 17 +++++++- 4 files changed, 82 insertions(+), 78 deletions(-) create mode 100644 pkgs/os-specific/linux/spl/generic.nix diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix index 8f4a7491427..618b59b32aa 100644 --- a/pkgs/os-specific/linux/spl/default.nix +++ b/pkgs/os-specific/linux/spl/default.nix @@ -1,7 +1,6 @@ -{ stdenv, fetchFromGitHub, kernel, perl, autoconf, automake, libtool, coreutils, gawk }: +{ callPackage, fetchFromGitHub, ... } @ args: -stdenv.mkDerivation rec { - name = "spl-${version}-${kernel.version}"; +callPackage ./generic.nix (args // rec { version = "0.6.3-1.2"; src = fetchFromGitHub { @@ -12,38 +11,4 @@ stdenv.mkDerivation rec { }; patches = [ ./install_prefix.patch ./const.patch ./time.patch ]; - - buildInputs = [ perl autoconf automake libtool ]; - - preConfigure = '' - ./autogen.sh - - substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid - substituteInPlace ./module/spl/spl-module.c --replace /bin/mknod mknod - - substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin" - substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin" - substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin" - ''; - - configureFlags = '' - --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source - --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build - ''; - - enableParallelBuilding = true; - - meta = { - description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)"; - - longDescription = '' - This kernel module is a porting layer for ZFS to work inside the linux - kernel. - ''; - - homepage = http://zfsonlinux.org/; - platforms = stdenv.lib.platforms.linux; - license = stdenv.lib.licenses.gpl2Plus; - maintainers = with stdenv.lib.maintainers; [ jcumming wizeman ]; - }; -} +}) diff --git a/pkgs/os-specific/linux/spl/generic.nix b/pkgs/os-specific/linux/spl/generic.nix new file mode 100644 index 00000000000..0e78e67274a --- /dev/null +++ b/pkgs/os-specific/linux/spl/generic.nix @@ -0,0 +1,60 @@ +{ stdenv, autoconf, automake, libtool, coreutils, gawk +, configFile ? "all" + +# Kernel dependencies +, kernel ? null + +# Version specific parameters +, version, src, patches +, ... +}: + +with stdenv.lib; +let + needsKernelSource = any (n: n == configFile) [ "kernel" "all" ]; +in + +assert any (n: n == configFile) [ "kernel" "user" "all" ]; +assert needsKernelSource -> kernel != null; + +stdenv.mkDerivation rec { + name = "spl-${configFile}-${version}${optionalString needsKernelSource "-${kernel.version}"}"; + + inherit version src patches; + + buildInputs = [ autoconf automake libtool ]; + + preConfigure = '' + ./autogen.sh + + substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid + substituteInPlace ./module/spl/spl-module.c --replace /bin/mknod mknod + + substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin" + substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin" + substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin" + ''; + + configureFlags = [ + "--with-config=${configFile}" + ] ++ optionals needsKernelSource [ + "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" + "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + + enableParallelBuilding = true; + + meta = { + description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)"; + + longDescription = '' + This kernel module is a porting layer for ZFS to work inside the linux + kernel. + ''; + + homepage = http://zfsonlinux.org/; + platforms = platforms.linux; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ jcumming wizeman wkennington ]; + }; +} diff --git a/pkgs/os-specific/linux/spl/git.nix b/pkgs/os-specific/linux/spl/git.nix index 772cad567c9..fc204bc0232 100644 --- a/pkgs/os-specific/linux/spl/git.nix +++ b/pkgs/os-specific/linux/spl/git.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchgit, kernel, perl, autoconf, automake, libtool, coreutils, gawk }: +{ callPackage, fetchgit, ... } @ args: -stdenv.mkDerivation { - name = "spl-0.6.4-${kernel.version}"; +callPackage ./generic.nix (args // rec { + version = "086476f"; src = fetchgit { url = git://github.com/zfsonlinux/spl.git; @@ -10,38 +10,4 @@ stdenv.mkDerivation { }; patches = [ ./const.patch ./install_prefix-git.patch ]; - - buildInputs = [ perl autoconf automake libtool ]; - - preConfigure = '' - ./autogen.sh - - substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid - substituteInPlace ./module/spl/spl-module.c --replace /bin/mknod mknod - - substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin" - substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin" - substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin" - ''; - - configureFlags = [ - "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" - "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - ]; - - enableParallelBuilding = true; - - meta = { - description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)"; - - longDescription = '' - This kernel module is a porting layer for ZFS to work inside the linux - kernel. - ''; - - homepage = http://zfsonlinux.org/; - platforms = stdenv.lib.platforms.linux; - license = stdenv.lib.licenses.gpl2Plus; - maintainers = with stdenv.lib.maintainers; [ wizeman ]; - }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2e447162a88..3bfad98f2fe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8774,8 +8774,14 @@ let seturgent = callPackage ../os-specific/linux/seturgent { }; - spl = callPackage ../os-specific/linux/spl { }; - spl_git = callPackage ../os-specific/linux/spl/git.nix { }; + spl = callPackage ../os-specific/linux/spl { + configFile = "kernel"; + inherit kernel; + }; + spl_git = callPackage ../os-specific/linux/spl/git.nix { + configFile = "kernel"; + inherit kernel; + }; sysdig = callPackage ../os-specific/linux/sysdig {}; @@ -9013,6 +9019,13 @@ let statifier = builderDefsPackage (import ../os-specific/linux/statifier) { }; + spl = callPackage ../os-specific/linux/spl { + configFile = "user"; + }; + spl_git = callPackage ../os-specific/linux/spl/git.nix { + configFile = "user"; + }; + sysdig = callPackage ../os-specific/linux/sysdig { kernel = null; }; # pkgs.sysdig is a client, for a driver look at linuxPackagesFor From f177036817727d84a1e4edde8ce837027ac04352 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 15:02:13 -0800 Subject: [PATCH 134/248] zfs: Modularize and create a userspace only package --- pkgs/os-specific/linux/zfs/default.nix | 68 +------------------ pkgs/os-specific/linux/zfs/generic.nix | 94 ++++++++++++++++++++++++++ pkgs/os-specific/linux/zfs/git.nix | 70 ++----------------- pkgs/top-level/all-packages.nix | 16 ++++- 4 files changed, 116 insertions(+), 132 deletions(-) create mode 100644 pkgs/os-specific/linux/zfs/generic.nix diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index 511b167d358..11b77c3d66f 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -1,7 +1,6 @@ -{ stdenv, fetchFromGitHub, kernel, spl, perl, python, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }: +{ callPackage, fetchFromGitHub, ... } @ args: -stdenv.mkDerivation rec { - name = "zfs-${version}-${kernel.version}"; +callPackage ./generic.nix (args // rec { version = "0.6.3-1.2"; src = fetchFromGitHub { @@ -15,65 +14,4 @@ stdenv.mkDerivation rec { ./mount_zfs_prefix.patch ./nix-build.patch # Remove in >=0.6.4 ]; - - buildInputs = [ spl perl python autoconf automake libtool zlib libuuid coreutils ]; - - # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work - NIX_CFLAGS_LINK = "-lgcc_s"; - - preConfigure = '' - substituteInPlace ./module/zfs/zfs_ctldir.c --replace "umount -t zfs" "${utillinux}/bin/umount -t zfs" - substituteInPlace ./module/zfs/zfs_ctldir.c --replace "mount -t zfs" "${utillinux}/bin/mount -t zfs" - substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount" "${utillinux}/bin/umount" - substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/mount" "${utillinux}/bin/mount" - substituteInPlace ./udev/rules.d/* --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id" - substituteInPlace ./cmd/ztest/ztest.c --replace "/usr/sbin/ztest" "$out/sbin/ztest" - substituteInPlace ./cmd/ztest/ztest.c --replace "/usr/sbin/zdb" "$out/sbin/zdb" - substituteInPlace ./config/user-systemd.m4 --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d" - substituteInPlace ./config/zfs-build.m4 --replace "\$sysconfdir/init.d" "$out/etc/init.d" - substituteInPlace ./etc/zfs/Makefile.am --replace "\$(sysconfdir)" "$out/etc" - substituteInPlace ./cmd/zed/Makefile.am --replace "\$(sysconfdir)" "$out/etc" - substituteInPlace ./module/Makefile.in --replace "/bin/cp" "cp" - - ./autogen.sh - ''; - - configureFlags = [ - "--enable-systemd" - "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" - "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - "--with-spl=${spl}/libexec/spl" - "--with-dracutdir=$(out)/lib/dracut" - "--with-udevdir=$(out)/lib/udev" - "--with-systemdunitdir=$(out)/etc/systemd/system" - "--with-systemdpresetdir=$(out)/etc/systemd/system-preset" - "--sysconfdir=/etc" - "--localstatedir=/var" - ]; - - enableParallelBuilding = true; - - # Remove provided services as they are buggy - postInstall = '' - rm $out/etc/systemd/system/zfs-import-*.service - - sed -i '/zfs-import-scan.service/d' $out/etc/systemd/system/* - - for i in $out/etc/systemd/system/*; do - substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target" - done - ''; - - meta = { - description = "ZFS Filesystem Linux Kernel module"; - longDescription = '' - ZFS is a filesystem that combines a logical volume manager with a - Copy-On-Write filesystem with data integrity detection and repair, - snapshotting, cloning, block devices, deduplication, and more. - ''; - homepage = http://zfsonlinux.org/; - license = stdenv.lib.licenses.cddl; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ jcumming wizeman ]; - }; -} +}) diff --git a/pkgs/os-specific/linux/zfs/generic.nix b/pkgs/os-specific/linux/zfs/generic.nix new file mode 100644 index 00000000000..ba3884a5e9b --- /dev/null +++ b/pkgs/os-specific/linux/zfs/generic.nix @@ -0,0 +1,94 @@ +{ stdenv, fetchFromGitHub, autoconf, automake, libtool, utillinux +, configFile ? "all" + +# Userspace dependencies +, zlib, libuuid, python + +# Kernel dependencies +, kernel ? null, spl ? null + +# Version specific settings +, version, src, patches +, ... +}: + +with stdenv.lib; +let + buildKernel = any (n: n == configFile) [ "kernel" "all" ]; + buildUser = any (n: n == configFile) [ "user" "all" ]; +in + +assert any (n: n == configFile) [ "kernel" "user" "all" ]; +assert buildKernel -> kernel != null && spl != null; + +stdenv.mkDerivation rec { + name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}"; + + inherit version src patches; + + buildInputs = [ autoconf automake libtool ] + ++ optionals buildKernel [ spl ] + ++ optionals buildUser [ zlib libuuid python ]; + + # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work + NIX_CFLAGS_LINK = "-lgcc_s"; + + preConfigure = '' + substituteInPlace ./module/zfs/zfs_ctldir.c --replace "umount -t zfs" "${utillinux}/bin/umount -t zfs" + substituteInPlace ./module/zfs/zfs_ctldir.c --replace "mount -t zfs" "${utillinux}/bin/mount -t zfs" + substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount" "${utillinux}/bin/umount" + substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/mount" "${utillinux}/bin/mount" + substituteInPlace ./udev/rules.d/* --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id" + substituteInPlace ./cmd/ztest/ztest.c --replace "/usr/sbin/ztest" "$out/sbin/ztest" + substituteInPlace ./cmd/ztest/ztest.c --replace "/usr/sbin/zdb" "$out/sbin/zdb" + substituteInPlace ./config/user-systemd.m4 --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d" + substituteInPlace ./config/zfs-build.m4 --replace "\$sysconfdir/init.d" "$out/etc/init.d" + substituteInPlace ./etc/zfs/Makefile.am --replace "\$(sysconfdir)" "$out/etc" + substituteInPlace ./cmd/zed/Makefile.am --replace "\$(sysconfdir)" "$out/etc" + substituteInPlace ./module/Makefile.in --replace "/bin/cp" "cp" + + ./autogen.sh + ''; + + configureFlags = [ + "--with-config=${configFile}" + ] ++ optionals buildUser [ + "--with-dracutdir=$(out)/lib/dracut" + "--with-udevdir=$(out)/lib/udev" + "--with-systemdunitdir=$(out)/etc/systemd/system" + "--with-systemdpresetdir=$(out)/etc/systemd/system-preset" + "--sysconfdir=/etc" + "--localstatedir=/var" + "--enable-systemd" + ] ++ optionals buildKernel [ + "--with-spl=${spl}/libexec/spl" + "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" + "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + + enableParallelBuilding = true; + + # Remove provided services as they are buggy + postInstall = optionalString buildUser '' + rm $out/etc/systemd/system/zfs-import-*.service + + sed -i '/zfs-import-scan.service/d' $out/etc/systemd/system/* + + for i in $out/etc/systemd/system/*; do + substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target" + done + ''; + + meta = { + description = "ZFS Filesystem Linux Kernel module"; + longDescription = '' + ZFS is a filesystem that combines a logical volume manager with a + Copy-On-Write filesystem with data integrity detection and repair, + snapshotting, cloning, block devices, deduplication, and more. + ''; + homepage = http://zfsonlinux.org/; + license = licenses.cddl; + platforms = platforms.linux; + maintainers = with maintainers; [ jcumming wizeman wkennington ]; + }; +} diff --git a/pkgs/os-specific/linux/zfs/git.nix b/pkgs/os-specific/linux/zfs/git.nix index 06aac4f9c2d..da48880ae16 100644 --- a/pkgs/os-specific/linux/zfs/git.nix +++ b/pkgs/os-specific/linux/zfs/git.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchgit, kernel, spl_git, perl, python, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }: +{ callPackage, fetchgit, spl_git, ... } @ args: -stdenv.mkDerivation { - name = "zfs-0.6.4-${kernel.version}"; +callPackage ./generic.nix (args // rec { + version = "33b4de5"; src = fetchgit { url = git://github.com/zfsonlinux/zfs.git; @@ -14,65 +14,5 @@ stdenv.mkDerivation { ./3.19-compat-git.patch # Remove once PR-3084 is mainlined ]; - buildInputs = [ spl_git perl python autoconf automake libtool zlib libuuid coreutils ]; - - # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work - NIX_CFLAGS_LINK = "-lgcc_s"; - - preConfigure = '' - substituteInPlace ./module/zfs/zfs_ctldir.c --replace "umount -t zfs" "${utillinux}/bin/umount -t zfs" - substituteInPlace ./module/zfs/zfs_ctldir.c --replace "mount -t zfs" "${utillinux}/bin/mount -t zfs" - substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount" "${utillinux}/bin/umount" - substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/mount" "${utillinux}/bin/mount" - substituteInPlace ./udev/rules.d/* --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id" - substituteInPlace ./cmd/ztest/ztest.c --replace "/usr/sbin/ztest" "$out/sbin/ztest" - substituteInPlace ./cmd/ztest/ztest.c --replace "/usr/sbin/zdb" "$out/sbin/zdb" - substituteInPlace ./config/user-systemd.m4 --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d" - substituteInPlace ./config/zfs-build.m4 --replace "\$sysconfdir/init.d" "$out/etc/init.d" - substituteInPlace ./etc/zfs/Makefile.am --replace "\$(sysconfdir)" "$out/etc" - substituteInPlace ./cmd/zed/Makefile.am --replace "\$(sysconfdir)" "$out/etc" - substituteInPlace ./module/Makefile.in --replace "/bin/cp" "cp" - - ./autogen.sh - ''; - - configureFlags = [ - "--enable-systemd" - "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" - "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - "--with-spl=${spl_git}/libexec/spl" - "--with-dracutdir=$(out)/lib/dracut" - "--with-udevdir=$(out)/lib/udev" - "--with-systemdunitdir=$(out)/etc/systemd/system" - "--with-systemdpresetdir=$(out)/etc/systemd/system-preset" - "--with-mounthelperdir=$(out)/sbin" - "--sysconfdir=/etc" - "--localstatedir=/var" - ]; - - enableParallelBuilding = true; - - # Remove provided services as they are buggy - postInstall = '' - rm $out/etc/systemd/system/zfs-import-*.service - - sed -i '/zfs-import-scan.service/d' $out/etc/systemd/system/* - - for i in $out/etc/systemd/system/*; do - substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target" - done - ''; - - meta = { - description = "ZFS Filesystem Linux Kernel module"; - longDescription = '' - ZFS is a filesystem that combines a logical volume manager with a - Copy-On-Write filesystem with data integrity detection and repair, - snapshotting, cloning, block devices, deduplication, and more. - ''; - homepage = http://zfsonlinux.org/; - license = stdenv.lib.licenses.cddl; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ wizeman ]; - }; -} + spl = spl_git; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3bfad98f2fe..fe394ea6177 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8802,8 +8802,14 @@ let virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { }; - zfs = callPackage ../os-specific/linux/zfs { }; - zfs_git = callPackage ../os-specific/linux/zfs/git.nix { }; + zfs = callPackage ../os-specific/linux/zfs { + configFile = "kernel"; + inherit kernel; + }; + zfs_git = callPackage ../os-specific/linux/zfs/git.nix { + configFile = "kernel"; + inherit kernel; + }; }; # The current default kernel / kernel modules. @@ -9230,6 +9236,12 @@ let zd1211fw = callPackage ../os-specific/linux/firmware/zd1211 { }; + zfs = callPackage ../os-specific/linux/zfs { + configFile = "user"; + }; + zfs_git = callPackage ../os-specific/linux/zfs/git.nix { + configFile = "user"; + }; ### DATA From 15cf03a8eedc255bc1b25a0f4d93742c80b4527b Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 15:03:59 -0800 Subject: [PATCH 135/248] Build userspace packages using the userspace zfs --- pkgs/tools/misc/grub/2.0x.nix | 6 +++--- pkgs/top-level/all-packages.nix | 8 ++------ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index 1dbdfff7448..4ba1a949c45 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchgit, autogen, flex, bison, python, autoconf, automake , gettext, ncurses, libusb, freetype, qemu, devicemapper -, linuxPackages ? null +, zfs ? null , efiSupport ? false , zfsSupport ? false }: @@ -32,7 +32,7 @@ let in ( assert efiSupport -> canEfi; -assert zfsSupport -> linuxPackages != null && linuxPackages.zfs != null; +assert zfsSupport -> zfs != null; stdenv.mkDerivation rec { name = "${prefix}-${version}"; @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autogen flex bison python autoconf automake ]; buildInputs = [ ncurses libusb freetype gettext devicemapper ] ++ optional doCheck qemu - ++ optional zfsSupport linuxPackages.zfs; + ++ optional zfsSupport zfs; preConfigure = '' for i in "tests/util/"*.in diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fe394ea6177..b51999388f5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -867,9 +867,7 @@ let cdrkit = callPackage ../tools/cd-dvd/cdrkit { }; - ceph = callPackage ../tools/filesystems/ceph { - zfs = linuxPackages.zfs; - }; + ceph = callPackage ../tools/filesystems/ceph { }; cfdg = builderDefsPackage ../tools/graphics/cfdg { inherit libpng bison flex ffmpeg; @@ -3055,9 +3053,7 @@ let zdelta = callPackage ../tools/compression/zdelta { }; - zfstools = callPackage ../tools/filesystems/zfstools { - zfs = linuxPackages.zfs; - }; + zfstools = callPackage ../tools/filesystems/zfstools { }; zile = callPackage ../applications/editors/zile { }; From 0fa4c9d6d3bd453634d02438b60daebeeaa02a7b Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 15:07:30 -0800 Subject: [PATCH 136/248] nixos/zfs: Fix references to zfs packages now that they are split --- nixos/modules/tasks/filesystems/zfs.nix | 29 +++++++++++++------------ 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index ab5942b7945..1ac89c4c255 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -21,11 +21,12 @@ let kernel = config.boot.kernelPackages; - splPkg = if cfgZfs.useGit then kernel.spl_git else kernel.spl; - zfsPkg = if cfgZfs.useGit then kernel.zfs_git else kernel.zfs; + splKernelPkg = if cfgZfs.useGit then kernel.spl_git else kernel.spl; + zfsKernelPkg = if cfgZfs.useGit then kernel.zfs_git else kernel.zfs; + zfsUserPkg = if cfgZfs.useGit then pkgs.zfs_git else pkgs.zfs; autosnapPkg = pkgs.zfstools.override { - zfs = zfsPkg; + zfs = zfsUserPkg; }; zfsAutoSnap = "${autosnapPkg}/bin/zfs-auto-snapshot"; @@ -195,17 +196,17 @@ in boot = { kernelModules = [ "spl" "zfs" ] ; - extraModulePackages = [ splPkg zfsPkg ]; + extraModulePackages = [ splKernelPkg zfsKernelPkg ]; }; boot.initrd = mkIf inInitrd { kernelModules = [ "spl" "zfs" ]; extraUtilsCommands = '' - cp -v ${zfsPkg}/sbin/zfs $out/bin - cp -v ${zfsPkg}/sbin/zdb $out/bin - cp -v ${zfsPkg}/sbin/zpool $out/bin - cp -pdv ${zfsPkg}/lib/lib*.so* $out/lib + cp -v ${zfsUserPkg}/sbin/zfs $out/bin + cp -v ${zfsUserPkg}/sbin/zdb $out/bin + cp -v ${zfsUserPkg}/sbin/zpool $out/bin + cp -pdv ${zfsUserPkg}/lib/lib*.so* $out/lib cp -pdv ${pkgs.zlib}/lib/lib*.so* $out/lib ''; postDeviceCommands = concatStringsSep "\n" (['' @@ -228,12 +229,12 @@ in zfsSupport = true; }; - environment.etc."zfs/zed.d".source = "${zfsPkg}/etc/zfs/zed.d/*"; + environment.etc."zfs/zed.d".source = "${zfsUserPkg}/etc/zfs/zed.d/*"; - system.fsPackages = [ zfsPkg ]; # XXX: needed? zfs doesn't have (need) a fsck - environment.systemPackages = [ zfsPkg ]; - services.udev.packages = [ zfsPkg ]; # to hook zvol naming, etc. - systemd.packages = [ zfsPkg ]; + system.fsPackages = [ zfsUserPkg ]; # XXX: needed? zfs doesn't have (need) a fsck + environment.systemPackages = [ zfsUserPkg ]; + services.udev.packages = [ zfsUserPkg ]; # to hook zvol naming, etc. + systemd.packages = [ zfsUserPkg ]; systemd.services = let getPoolFilesystems = pool: @@ -260,7 +261,7 @@ in RemainAfterExit = true; }; script = '' - zpool_cmd="${zfsPkg}/sbin/zpool" + zpool_cmd="${zfsUserPkg}/sbin/zpool" ("$zpool_cmd" list "${pool}" >/dev/null) || "$zpool_cmd" import -N ${optionalString cfgZfs.forceImportAll "-f"} "${pool}" ''; }; From ef80d73e6a958046135c18a9c4a29cd756643b4a Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 15:18:37 -0800 Subject: [PATCH 137/248] grub: Enable zfs and efi by default since it's cheap to support --- pkgs/tools/misc/grub/2.0x.nix | 8 +++----- pkgs/top-level/all-packages.nix | 9 ++++++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index 4ba1a949c45..b261dc39340 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -1,8 +1,8 @@ { stdenv, fetchurl, fetchgit, autogen, flex, bison, python, autoconf, automake , gettext, ncurses, libusb, freetype, qemu, devicemapper , zfs ? null -, efiSupport ? false -, zfsSupport ? false +, efiSupport ? true +, zfsSupport ? true }: with stdenv.lib; @@ -14,8 +14,6 @@ let canEfi = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) efiSystems); - prefix = "grub${if efiSupport then "-efi" else ""}${optionalString zfsSupport "-zfs"}"; - version = "2.02-git-1de3a4"; unifont_bdf = fetchurl { @@ -35,7 +33,7 @@ assert efiSupport -> canEfi; assert zfsSupport -> zfs != null; stdenv.mkDerivation rec { - name = "${prefix}-${version}"; + name = "grub-${version}"; src = fetchgit { url = "git://git.savannah.gnu.org/grub.git"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b51999388f5..f4fa88d6c45 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1452,11 +1452,14 @@ let buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true; }; - grub2 = callPackage ../tools/misc/grub/2.0x.nix { }; + grub2 = grub2_full; - grub2_efi = grub2.override { efiSupport = true; }; + grub2_full = callPackage ../tools/misc/grub/2.0x.nix { }; - grub2_zfs = grub2.override { zfsSupport = true; }; + grub2_light = grub2_full.override { + efiSupport = false; + zfsSupport = false; + }; gsmartcontrol = callPackage ../tools/misc/gsmartcontrol { inherit (gnome) libglademm; From 161e9648e41e81992727415c677a2fa02c4c1a3b Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 15:21:30 -0800 Subject: [PATCH 138/248] spl: Make naming more consistent with zfs --- pkgs/os-specific/linux/spl/generic.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/spl/generic.nix b/pkgs/os-specific/linux/spl/generic.nix index 0e78e67274a..29f08002fb4 100644 --- a/pkgs/os-specific/linux/spl/generic.nix +++ b/pkgs/os-specific/linux/spl/generic.nix @@ -11,14 +11,15 @@ with stdenv.lib; let - needsKernelSource = any (n: n == configFile) [ "kernel" "all" ]; + buildKernel = any (n: n == configFile) [ "kernel" "all" ]; + buildUser = any (n: n == configFile) [ "user" "all" ]; in assert any (n: n == configFile) [ "kernel" "user" "all" ]; -assert needsKernelSource -> kernel != null; +assert buildKernel -> kernel != null && spl != null; stdenv.mkDerivation rec { - name = "spl-${configFile}-${version}${optionalString needsKernelSource "-${kernel.version}"}"; + name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}"; inherit version src patches; @@ -37,7 +38,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-config=${configFile}" - ] ++ optionals needsKernelSource [ + ] ++ optionals buildKernel [ "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; From 7ae9c92f92c64bba527e6d8e9c8c6105079a2c83 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 17:18:15 -0800 Subject: [PATCH 139/248] spl: Fix bad copy paste --- pkgs/os-specific/linux/spl/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/spl/generic.nix b/pkgs/os-specific/linux/spl/generic.nix index 29f08002fb4..c25ff6608e2 100644 --- a/pkgs/os-specific/linux/spl/generic.nix +++ b/pkgs/os-specific/linux/spl/generic.nix @@ -16,7 +16,7 @@ let in assert any (n: n == configFile) [ "kernel" "user" "all" ]; -assert buildKernel -> kernel != null && spl != null; +assert buildKernel -> kernel != null; stdenv.mkDerivation rec { name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}"; From 362d75975045c185e67cb0b66baa43d4d5e337c4 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 17:46:22 -0800 Subject: [PATCH 140/248] zfs: Fix passing the correct spl --- pkgs/top-level/all-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f4fa88d6c45..8efb185bcde 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8803,11 +8803,11 @@ let zfs = callPackage ../os-specific/linux/zfs { configFile = "kernel"; - inherit kernel; + inherit kernel spl; }; zfs_git = callPackage ../os-specific/linux/zfs/git.nix { configFile = "kernel"; - inherit kernel; + inherit kernel spl_git; }; }; From c8a4ecd91d82845e490fbe6ea32cddbb627b7f52 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 20:32:33 -0800 Subject: [PATCH 141/248] grub: Doesn't support building bios and efi simultaneously --- pkgs/tools/misc/grub/2.0x.nix | 2 +- pkgs/top-level/all-packages.nix | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index b261dc39340..10346ca885b 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, fetchgit, autogen, flex, bison, python, autoconf, automake , gettext, ncurses, libusb, freetype, qemu, devicemapper , zfs ? null -, efiSupport ? true +, efiSupport ? false , zfsSupport ? true }: diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8efb185bcde..498e8522302 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1456,8 +1456,11 @@ let grub2_full = callPackage ../tools/misc/grub/2.0x.nix { }; + grub2_efi = grub2_full.override { + efiSupport = true; + }; + grub2_light = grub2_full.override { - efiSupport = false; zfsSupport = false; }; From 42a6ac52093955f761fb5577420a4b413647b142 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 7 Feb 2015 20:38:21 -0800 Subject: [PATCH 142/248] nixos/iso: Increase efi image size to 15M --- nixos/modules/installer/cd-dvd/iso-image.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 84de7800c2a..39db7d9b8f7 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -58,8 +58,8 @@ let efiImg = pkgs.runCommand "efi-image_eltorito" { buildInputs = [ pkgs.mtools ]; } '' - #Let's hope 10M is enough - dd bs=2048 count=5120 if=/dev/zero of="$out" + #Let's hope 15M is enough + dd bs=2048 count=7680 if=/dev/zero of="$out" ${pkgs.dosfstools}/sbin/mkfs.vfat "$out" mcopy -svi "$out" ${efiDir}/* :: mmd -i "$out" boot From e9e7bfa6ac63c814615b062258142ab673b53221 Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sun, 8 Feb 2015 00:12:16 -0500 Subject: [PATCH 143/248] Move and restructure objconv a bit --- pkgs/development/tools/misc/objconv/default.nix | 16 ++++++++++++++++ pkgs/top-level/all-packages.nix | 6 ++++++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/development/tools/misc/objconv/default.nix diff --git a/pkgs/development/tools/misc/objconv/default.nix b/pkgs/development/tools/misc/objconv/default.nix new file mode 100644 index 00000000000..154d66705d2 --- /dev/null +++ b/pkgs/development/tools/misc/objconv/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation { + name = "objconv-1.0"; + + src = fetchFromGitHub { + owner = "vertis"; + repo = "objconv"; + rev = "01da9219e684360fd04011599805ee3e699bae96"; + sha256 = "1by2bbrampwv0qy8vn4hhs49rykczyj7q8g373ym38da3c95bym2"; + }; + + buildPhase = "c++ -o objconv -O2 src/*.cpp"; + + installPhase = "mkdir -p $out/bin && mv objconv $out/bin"; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 498e8522302..72382fae5ea 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2058,6 +2058,8 @@ let obexftp = callPackage ../tools/bluetooth/obexftp { }; + objconv = callPackage ../development/tools/misc/objconv {}; + obnam = callPackage ../tools/backup/obnam { }; ocz-toolbox = callPackage ../os-specific/linux/ocz-toolbox { }; @@ -8428,6 +8430,10 @@ let cmdline_sdk = cmdline.sdk; cmdline_tools = cmdline.tools; + + apple_sdk = callPackage ../os-specific/darwin/apple-sdk {}; + + libobjc = apple-source-releases.objc4; }; devicemapper = lvm2; From 0c6598beaf739f1b32edcb4244fedbc705ec9b5d Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sun, 8 Feb 2015 00:28:37 -0500 Subject: [PATCH 144/248] gccApple is dead. Leaving the top-level attribute for a little longer, but no need to keep its unused code. --- .../compilers/gcc/4.2-apple64/builder.sh | 131 ------------------ .../gcc/4.2-apple64/debug_list.patch | 30 ---- .../compilers/gcc/4.2-apple64/default.nix | 50 ------- .../gcc/4.2-apple64/fix-libstdc++-link.patch | 71 ---------- .../gcc/4.2-apple64/floor_log2_patch.diff | 62 --------- .../gcc/4.2-apple64/no-sys-dirs.patch | 99 ------------- .../gcc/4.2-apple64/pass-cxxcpp.patch | 21 --- 7 files changed, 464 deletions(-) delete mode 100644 pkgs/development/compilers/gcc/4.2-apple64/builder.sh delete mode 100644 pkgs/development/compilers/gcc/4.2-apple64/debug_list.patch delete mode 100644 pkgs/development/compilers/gcc/4.2-apple64/default.nix delete mode 100644 pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch delete mode 100644 pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff delete mode 100644 pkgs/development/compilers/gcc/4.2-apple64/no-sys-dirs.patch delete mode 100644 pkgs/development/compilers/gcc/4.2-apple64/pass-cxxcpp.patch diff --git a/pkgs/development/compilers/gcc/4.2-apple64/builder.sh b/pkgs/development/compilers/gcc/4.2-apple64/builder.sh deleted file mode 100644 index 4a4fb476a35..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/builder.sh +++ /dev/null @@ -1,131 +0,0 @@ -source $stdenv/setup - - -export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy -mkdir $NIX_FIXINC_DUMMY - - -# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad -# Thing. -export CPP="gcc -E" - - -if test "$noSysDirs" = "1"; then - - # Figure out what extra flags to pass to the gcc compilers being - # generated to make sure that they use our glibc. - if test -e $NIX_CC/nix-support/orig-glibc; then - glibc=$(cat $NIX_CC/nix-support/orig-glibc) - - # Ugh. Copied from gcc-wrapper/builder.sh. We can't just - # source in $NIX_CC/nix-support/add-flags, since that would - # cause *this* GCC to be linked against the *previous* GCC. - # Need some more modularity there. - extraCFlags="-B$glibc/lib -isystem $glibc/include" - extraLDFlags="-B$glibc/lib -L$glibc/lib -Wl,-s \ - -Wl,-dynamic-linker,$glibc/lib/ld-linux.so.2" - - # Oh, what a hack. I should be shot for this. In stage 1, we - # should link against the previous GCC, but not afterwards. - # Otherwise we retain a dependency. However, ld-wrapper, - # which adds the linker flags for the previous GCC, is also - # used in stage 2/3. We can prevent it from adding them by - # NIX_GLIBC_FLAGS_SET, but then gcc-wrapper will also not add - # them, thereby causing stage 1 to fail. So we use a trick to - # only set the flags in gcc-wrapper. - hook=$(pwd)/ld-wrapper-hook - echo "NIX_GLIBC_FLAGS_SET=1" > $hook - export NIX_LD_WRAPPER_START_HOOK=$hook - - # Use *real* header files, otherwise a limits.h is generated - # that does not include Glibc's limits.h (notably missing - # SSIZE_MAX, which breaks the build). - export NIX_FIXINC_DUMMY=$glibc/include - fi - - export NIX_EXTRA_CFLAGS=$extraCFlags - export NIX_EXTRA_LDFLAGS=$extraLDFlags - export CFLAGS=$extraCFlags - export CXXFLAGS=$extraCFlags - export LDFLAGS=$extraLDFlags -fi - - -preConfigure() { - - # Determine the frontends to build. - langs="c" - if test -n "$langCC"; then - langs="$langs,c++" - fi - if test -n "$langF77"; then - langs="$langs,f95" - fi - if test -n "$langObjC"; then - langs="$langs,objc" - fi - - # Perform the build in a different directory. - mkdir ../build - cd ../build - - configureScript=../$sourceRoot/configure - configureFlags="--enable-languages=$langs --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-multilib --with-gxx-include-dir=${STDCXX_INCDIR} --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10 --target=x86_64-apple-darwin10" -} - - -postInstall() { - # Remove precompiled headers for now. They are very big and - # probably not very useful yet. - find $out/include -name "*.gch" -exec rm -rf {} \; -prune - - # Remove `fixincl' to prevent a retained dependency on the - # previous gcc. - rm -rf $out/libexec/gcc/*/*/install-tools -} - - -postUnpack() { - mv $libstdcxx/libstdcxx $sourceRoot/ -} - - -STDCXX_INCDIR="$out/include/c++/4.2.1" - -genericBuild - - -echo '-------------------------------------------------------------------------------------------------------------------------' -echo 'libstdcxx' -echo '-------------------------------------------------------------------------------------------------------------------------' - -cd .. -pwd - -unpackPhase () { - true -} - -patchPhase() { - true -} - -preConfigure() { - # Perform the build in a different directory. - mkdir ../build_libstdcxx - cd ../build_libstdcxx - - ln -s ../build/gcc gcc - - configureScript=../$sourceRoot/libstdcxx/configure - configureFlags="--disable-libstdcxx-pch --disable-libstdcxx-debug --disable-multilib --with-gxx-include-dir=${STDCXX_INCDIR}" -} - -postInstall() { - echo "cp -v ${STDCXX_INCDIR}/*/bits/* ${STDCXX_INCDIR}/bits/" - cp -v ${STDCXX_INCDIR}/*/bits/* ${STDCXX_INCDIR}/bits/ -} - -genericBuild - -ln -s $out/lib/x86_64 $out/lib64 diff --git a/pkgs/development/compilers/gcc/4.2-apple64/debug_list.patch b/pkgs/development/compilers/gcc/4.2-apple64/debug_list.patch deleted file mode 100644 index b26f15e6512..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/debug_list.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -rc libstdcxx-16-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-16/libstdcxx/libstdc++-v3/src/Makefile.in -*** libstdcxx-16-orig/libstdcxx/libstdc++-v3/src/Makefile.in Thu Jul 23 19:13:52 2009 ---- libstdcxx-16/libstdcxx/libstdc++-v3/src/Makefile.in Thu Jul 23 19:38:23 2009 -*************** -*** 65,71 **** - numeric_members.lo time_members.lo - am__objects_2 = basic_file.lo c++locale.lo - am__objects_3 = bitmap_allocator.lo pool_allocator.lo mt_allocator.lo \ -! codecvt.lo complex_io.lo ctype.lo debug.lo debug_list.lo \ - functexcept.lo globals_locale.lo globals_io.lo ios.lo \ - ios_failure.lo ios_init.lo ios_locale.lo limits.lo list.lo \ - locale.lo locale_init.lo locale_facets.lo localename.lo \ ---- 65,71 ---- - numeric_members.lo time_members.lo - am__objects_2 = basic_file.lo c++locale.lo - am__objects_3 = bitmap_allocator.lo pool_allocator.lo mt_allocator.lo \ -! codecvt.lo complex_io.lo ctype.lo debug.lo \ - functexcept.lo globals_locale.lo globals_io.lo ios.lo \ - ios_failure.lo ios_init.lo ios_locale.lo limits.lo list.lo \ - locale.lo locale_init.lo locale_facets.lo localename.lo \ -*************** -*** 315,321 **** - complex_io.cc \ - ctype.cc \ - debug.cc \ -- debug_list.cc \ - functexcept.cc \ - globals_locale.cc \ - globals_io.cc \ ---- 315,320 ---- diff --git a/pkgs/development/compilers/gcc/4.2-apple64/default.nix b/pkgs/development/compilers/gcc/4.2-apple64/default.nix deleted file mode 100644 index 42d9f29e2b5..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ stdenv, fetchurl, noSysDirs -, langCC ? true, langObjC ? true, langF77 ? false -, profiledCompiler ? false -, gmp ? null, mpfr ? null, bison ? null, flex ? null -}: - -assert false; -assert stdenv.isDarwin; -assert langF77 -> gmp != null; - -let - version = "4.2.1"; # Upstream GCC version, from `gcc/BASE-VER'. - revision = "5666.3"; # Apple's fork revision number. -in - -stdenv.mkDerivation rec { - name = "gcc-apple-${version}.${revision}"; - - builder = ./builder.sh; - - src = - stdenv.lib.optional true (fetchurl { - url = "http://www.opensource.apple.com/tarballs/gcc/gcc-${revision}.tar.gz"; - sha256 = "0nq1szgqx9ryh1qsn5n6yd55gpvf56wr8f7w1jzabb8idlvz8ikc"; - }) ++ - stdenv.lib.optional langCC (fetchurl { - url = http://www.opensource.apple.com/tarballs/libstdcxx/libstdcxx-39.tar.gz; - sha256 = "ccf4cf432c142778c766affbbf66b61001b6c4f1107bc2b2c77ce45598786b6d"; - }); - - enableParallelBuilding = true; - - libstdcxx = "libstdcxx-39"; - - sourceRoot = "gcc-${revision}/"; - - # The floor_log2_patch is from a Gentoo fix for the same issue: - # https://bugs.gentoo.org/attachment.cgi?id=363174&action=diff - patches = - [ ./pass-cxxcpp.patch ./floor_log2_patch.diff ] - ++ stdenv.lib.optional noSysDirs ./no-sys-dirs.patch - ++ stdenv.lib.optional langCC ./fix-libstdc++-link.patch; - - inherit noSysDirs langCC langF77 langObjC; - langC = true; - - buildInputs = stdenv.lib.optionals langF77 [ gmp mpfr bison flex ]; - - #meta.broken = true; -} diff --git a/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch b/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch deleted file mode 100644 index 5a417f8151b..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch +++ /dev/null @@ -1,71 +0,0 @@ -Prevent our libstdc++.dylib from having a runtime dependency on -/usr/lib/libstdc++.dylib. This is caused by the implicit -lstdc++ -passed by g++ when it links libstdc++.dylib. Adding "-nostdlib" to -the g++ invocation prevents this. - -jww (2014-06-21): I've added several more patches to this, for building on -Mavericks. - -diff -ru -x '*~' libstdcxx-39-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-39/libstdcxx/libstdc++-v3/src/Makefile.in ---- x/libstdcxx/libstdc++-v3/src/Makefile.in 2006-10-16 21:08:22.000000000 +0200 -+++ y/libstdcxx/libstdc++-v3/src/Makefile.in 2012-02-17 18:44:05.210570590 +0100 -@@ -388,7 +388,7 @@ - - libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD) - libstdc___la_LDFLAGS = \ -- -version-info $(libtool_VERSION) ${version_arg} -lm -+ -version-info $(libtool_VERSION) ${version_arg} -lm -Wc,-nostdlib - - - # Use special rules for the deprecated source files so that they find ---- x/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h -+++ y/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h -@@ -38,7 +38,7 @@ - #include - #include - #include --#include "unwind.h" -+#include "unwind-generic.h" - - #pragma GCC visibility push(default) - -@@ -133,7 +133,7 @@ extern "C" void __cxa_bad_typeid (); - // throws, and if bad_exception needs to be thrown. Called from the - // compiler. - extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn)); --extern "C" void __cxa_call_terminate (void*) __attribute__((noreturn)); -+extern "C" void __cxa_call_terminate(_Unwind_Exception* ue_header); - - #ifdef __ARM_EABI_UNWINDER__ - // Arm EABI specified routines. ---- x/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h -+++ y/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h -@@ -549,6 +549,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) - */ - class free_list - { -+ public: - typedef size_t* value_type; - typedef __detail::__mini_vector vector_type; - typedef vector_type::iterator iterator; ---- x/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h -+++ y/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h -@@ -433,7 +433,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) - { - size_t __old_len = __r->_M_size; - _CharT* __new_data = (_CharT*) -- _Data_allocate(_S_rounded_up_size(__old_len + __len)); -+ _Base::_Data_allocate(_S_rounded_up_size(__old_len + __len)); - _RopeLeaf* __result; - - uninitialized_copy_n(__r->_M_data, __old_len, __new_data); -@@ -817,7 +817,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) - if (__result_len > __lazy_threshold) - goto lazy; - __section = (_CharT*) -- _Data_allocate(_S_rounded_up_size(__result_len)); -+ _Base::_Data_allocate(_S_rounded_up_size(__result_len)); - try - { (*(__f->_M_fn))(__start, __result_len, __section); } - catch(...) - diff --git a/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff b/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff deleted file mode 100644 index f37e6c4990e..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff +++ /dev/null @@ -1,62 +0,0 @@ ---- gcc-5666.3/gcc/toplev.h -+++ gcc-5666.3/gcc/toplev.h -@@ -151,6 +151,8 @@ - /* Return true iff flags are set as if -ffast-math. */ - extern bool fast_math_flags_set_p (void); - -+#if GCC_VERSION < 3004 -+ - /* Return log2, or -1 if not exact. */ - extern int exact_log2 (unsigned HOST_WIDE_INT); - -@@ -158,7 +160,7 @@ - extern int floor_log2 (unsigned HOST_WIDE_INT); - - /* Inline versions of the above for speed. */ --#if GCC_VERSION >= 3004 -+#else /* GCC_VERSION < 3004 */ - # if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG - # define CLZ_HWI __builtin_clzl - # define CTZ_HWI __builtin_ctzl -@@ -172,18 +172,18 @@ - # define CTZ_HWI __builtin_ctz - # endif - --extern inline int -+static inline int - floor_log2 (unsigned HOST_WIDE_INT x) - { - return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1; - } - --extern inline int -+static inline int - exact_log2 (unsigned HOST_WIDE_INT x) - { - return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1; - } --#endif /* GCC_VERSION >= 3004 */ -+#endif /* GCC_VERSION < 3004 */ - - /* Functions used to get and set GCC's notion of in what directory - compilation was started. */ ---- gcc-5666.3/gcc/toplev.c -+++ gcc-5666.3/gcc/toplev.c -@@ -555,7 +555,7 @@ - for floor_log2 and exact_log2; see toplev.h. That construct, however, - conflicts with the ISO C++ One Definition Rule. */ - --#if GCC_VERSION < 3004 || !defined (__cplusplus) -+#if GCC_VERSION < 3004 - - /* Given X, an unsigned number, return the largest int Y such that 2**Y <= X. - If X is 0, return -1. */ -@@ -607,7 +607,7 @@ - #endif - } - --#endif /* GCC_VERSION < 3004 || !defined (__cplusplus) */ -+#endif /* GCC_VERSION < 3004 */ - - /* Handler for fatal signals, such as SIGSEGV. These are transformed - into ICE messages, which is much more user friendly. In case the diff --git a/pkgs/development/compilers/gcc/4.2-apple64/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.2-apple64/no-sys-dirs.patch deleted file mode 100644 index 69f9d9d14c6..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/no-sys-dirs.patch +++ /dev/null @@ -1,99 +0,0 @@ -diff -ruN gcc-4.1.0/gcc/Makefile.in gcc-4.1.0.new/gcc/Makefile.in ---- gcc-4.1.0/gcc/Makefile.in 2006-02-16 16:23:24.000000000 +0100 -+++ gcc-4.1.0.new/gcc/Makefile.in 2006-03-01 18:55:12.000000000 +0100 -@@ -219,7 +219,7 @@ - CPPFLAGS = @CPPFLAGS@ - - # These exists to be overridden by the x-* and t-* files, respectively. --X_CFLAGS = -+X_CFLAGS = $(NIX_EXTRA_CFLAGS) $(NIX_EXTRA_LDFLAGS) - T_CFLAGS = - - X_CPPFLAGS = -@@ -383,7 +383,11 @@ - MD5_H = $(srcdir)/../include/md5.h - - # Default native SYSTEM_HEADER_DIR, to be overridden by targets. --NATIVE_SYSTEM_HEADER_DIR = /usr/include -+# Nix: we override NATIVE_SYSTEM_HEADER_DIR in order to prevent -+# `fixinc' from fixing header files in /usr/include. However, -+# NATIVE_SYSTEM_HEADER_DIR must point to an existing directory, so set -+# it to some dummy directory. -+NATIVE_SYSTEM_HEADER_DIR = $(NIX_FIXINC_DUMMY) - # Default cross SYSTEM_HEADER_DIR, to be overridden by targets. - CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@ - -@@ -395,7 +399,7 @@ - STMP_FIXINC = @STMP_FIXINC@ - - # Test to see whether exists in the system header files. --LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ] -+LIMITS_H_TEST = true - - # Directory for prefix to system directories, for - # each of $(system_prefix)/usr/include, $(system_prefix)/usr/lib, etc. -@@ -3002,7 +3006,7 @@ - -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ - -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \ - -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \ -- -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \ -+ -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \ - -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ - -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ - @TARGET_SYSTEM_ROOT_DEFINE@ - -diff -ruN gcc-4.1.0/ltcf-cxx.sh gcc-4.1.0.new/ltcf-cxx.sh ---- gcc-4.1.0/ltcf-cxx.sh 2005-07-16 04:30:53.000000000 +0200 -+++ gcc-4.1.0.new/ltcf-cxx.sh 2006-03-01 18:58:15.000000000 +0100 -@@ -989,7 +989,7 @@ - # the conftest object file. - pre_test_object_deps_done=no - -- for p in `eval $output_verbose_link_cmd`; do -+ for p in `true`; do - - case $p in - -diff -ruN gcc-4.1.0/ltconfig gcc-4.1.0.new/ltconfig ---- gcc-4.1.0/ltconfig 2005-07-16 04:30:53.000000000 +0200 -+++ gcc-4.1.0.new/ltconfig 2006-03-01 18:59:58.000000000 +0100 -@@ -2322,6 +2322,11 @@ - # A language-specific compiler. - CC=$CC - -+# Ugly hack to get libmudflap (and possibly other libraries) to build. -+# Libtool filters out \`-B' flags when linking (why?), so the \`-B' flag -+# to Glibc gets lost. Here we forcibly add it to any invocation. -+CC="\$CC $NIX_EXTRA_LDFLAGS" -+ - # Is the compiler the GNU C compiler? - with_gcc=$with_gcc - -diff -ruN gcc-4.1.0/Makefile.in gcc-4.1.0.new/Makefile.in ---- gcc-4.1.0/Makefile.in 2005-12-15 15:02:02.000000000 +0100 -+++ gcc-4.1.0.new/Makefile.in 2006-03-01 19:41:04.000000000 +0100 -@@ -286,7 +286,7 @@ - WINDRES = @WINDRES@ - - CFLAGS = @CFLAGS@ --LDFLAGS = -+LDFLAGS = $(NIX_EXTRA_LDFLAGS) - LIBCFLAGS = $(CFLAGS) - CXXFLAGS = @CXXFLAGS@ - LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates -@@ -329,12 +329,12 @@ - # CFLAGS will be just -g. We want to ensure that TARGET libraries - # (which we know are built with gcc) are built with optimizations so - # prepend -O2 when setting CFLAGS_FOR_TARGET. --CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) -+CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(NIX_EXTRA_CFLAGS) - SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) -+CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(NIX_EXTRA_CFLAGS) - LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) - LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates --LDFLAGS_FOR_TARGET = -+LDFLAGS_FOR_TARGET = $(NIX_EXTRA_LDFLAGS) - PICFLAG_FOR_TARGET = - - # ------------------------------------ diff --git a/pkgs/development/compilers/gcc/4.2-apple64/pass-cxxcpp.patch b/pkgs/development/compilers/gcc/4.2-apple64/pass-cxxcpp.patch deleted file mode 100644 index 4f9a29ae51b..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/pass-cxxcpp.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -rc gcc-orig/Makefile.in gcc-4.1.1/Makefile.in -*** gcc-orig/Makefile.in Wed Jun 21 13:40:23 2006 ---- gcc-4.1.1/Makefile.in Wed Jun 21 14:19:44 2006 -*************** -*** 213,219 **** - RAW_CXX_TARGET_EXPORTS = \ - $(BASE_TARGET_EXPORTS) \ - CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ -! CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; - - NORMAL_TARGET_EXPORTS = \ - $(BASE_TARGET_EXPORTS) \ ---- 213,220 ---- - RAW_CXX_TARGET_EXPORTS = \ - $(BASE_TARGET_EXPORTS) \ - CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ -! CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; \ -! CXXCPP="$(RAW_CXX_FOR_TARGET) $(CFLAGS_FOR_BUILD) -E"; export CXXCPP; - - NORMAL_TARGET_EXPORTS = \ - $(BASE_TARGET_EXPORTS) \ From c4253520fe1baf5b4cfd11b09de1825343aa7ee4 Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sun, 8 Feb 2015 00:34:02 -0500 Subject: [PATCH 145/248] These two are unused --- .../compilers/llvm/3.5/libc++abi/darwin.patch | 17 ----------------- .../llvm/3.5/libc++abi/no-stdc++.patch | 12 ------------ 2 files changed, 29 deletions(-) delete mode 100644 pkgs/development/compilers/llvm/3.5/libc++abi/darwin.patch delete mode 100644 pkgs/development/compilers/llvm/3.5/libc++abi/no-stdc++.patch diff --git a/pkgs/development/compilers/llvm/3.5/libc++abi/darwin.patch b/pkgs/development/compilers/llvm/3.5/libc++abi/darwin.patch deleted file mode 100644 index 53ea8783f7a..00000000000 --- a/pkgs/development/compilers/llvm/3.5/libc++abi/darwin.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -ru -x '*~' libcxxabi-orig/lib/buildit libcxxabi/lib/buildit ---- libcxxabi-orig/lib/buildit 2014-09-18 16:54:14.000000000 +0200 -+++ libcxxabi/lib/buildit 2014-09-24 13:22:27.000000000 +0200 -@@ -51,12 +51,8 @@ - -dynamiclib -nodefaultlibs \ - -current_version ${RC_ProjectSourceVersion} \ - -compatibility_version 1 \ -- -install_name /usr/lib/libc++abi.dylib \ -+ -install_name $out/lib/libc++abi.dylib \ - -lSystem" -- if [ -f "${SDKROOT}/usr/local/lib/libCrashReporterClient.a" ] -- then -- LDSHARED_FLAGS+=" -lCrashReporterClient" -- fi - ;; - *-*-mingw*) - # FIXME: removing libgcc and libsupc++ dependencies means porting libcxxrt and LLVM/compiler-rt diff --git a/pkgs/development/compilers/llvm/3.5/libc++abi/no-stdc++.patch b/pkgs/development/compilers/llvm/3.5/libc++abi/no-stdc++.patch deleted file mode 100644 index ddc9778a486..00000000000 --- a/pkgs/development/compilers/llvm/3.5/libc++abi/no-stdc++.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru -x '*~' libcxxabi-orig/lib/buildit libcxxabi/lib/buildit ---- libcxxabi-orig/lib/buildit 2014-09-18 16:54:14.000000000 +0200 -+++ libcxxabi/lib/buildit 2014-09-24 13:22:27.000000000 +0200 -@@ -70,7 +66,7 @@ - SOEXT=so - LDSHARED_FLAGS="-o libc++abi.so.1.0 \ - -shared -nodefaultlibs -Wl,-soname,libc++abi.so.1 \ -- -lpthread -lrt -lc -lstdc++" -+ -lpthread -lrt -lc" - ;; - esac - From e32950d11ae303daffe1d4bc661530b453a725ff Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sun, 8 Feb 2015 00:39:45 -0500 Subject: [PATCH 146/248] Upgrade cctools port to 862, and fix the cross version so it evaluates --- pkgs/os-specific/darwin/cctools/darwin.patch | 122 ------------------- pkgs/os-specific/darwin/cctools/port.nix | 52 +++++--- pkgs/top-level/all-packages.nix | 4 +- 3 files changed, 39 insertions(+), 139 deletions(-) delete mode 100644 pkgs/os-specific/darwin/cctools/darwin.patch diff --git a/pkgs/os-specific/darwin/cctools/darwin.patch b/pkgs/os-specific/darwin/cctools/darwin.patch deleted file mode 100644 index 9c2cf23f0c6..00000000000 --- a/pkgs/os-specific/darwin/cctools/darwin.patch +++ /dev/null @@ -1,122 +0,0 @@ -From b6001ddb935351b4d150546ddab6d25eae05afaa Mon Sep 17 00:00:00 2001 -From: Daniel Peebles -Date: Sun, 12 Oct 2014 12:23:51 -0400 -Subject: [PATCH] work - ---- - cctools/Makefile.am | 2 +- - cctools/configure.ac | 2 -- - cctools/ld64/src/3rd/helper.c | 2 ++ - cctools/ld64/src/3rd/strlcat.c | 2 ++ - cctools/ld64/src/3rd/strlcpy.c | 3 ++- - cctools/ld64/src/ld/Options.cpp | 2 ++ - tools/find_lto_header.sh | 2 +- - 7 files changed, 10 insertions(+), 5 deletions(-) - -diff --git a/cctools/Makefile.am b/cctools/Makefile.am -index 44084ad..34a670c 100644 ---- a/cctools/Makefile.am -+++ b/cctools/Makefile.am -@@ -1,2 +1,2 @@ --SUBDIRS=libstuff ar as misc libobjc2 otool ld64 $(LD_CLASSIC) -+SUBDIRS=libstuff ar as misc ld64 $(LD_CLASSIC) - ACLOCAL_AMFLAGS = -I m4 -diff --git a/cctools/configure.ac b/cctools/configure.ac -index c4f6c47..b641925 100644 ---- a/cctools/configure.ac -+++ b/cctools/configure.ac -@@ -278,8 +278,6 @@ AC_CONFIG_FILES([as/ppc/Makefile]) - AC_CONFIG_FILES([as/ppc64/Makefile]) - #AC_CONFIG_FILES([man/Makefile]) - AC_CONFIG_FILES([misc/Makefile]) --AC_CONFIG_FILES([otool/Makefile]) --AC_CONFIG_FILES([libobjc2/Makefile]) - AC_CONFIG_FILES([ld/Makefile]) - - -diff --git a/cctools/ld64/src/3rd/helper.c b/cctools/ld64/src/3rd/helper.c -index 19f4be7..bec6869 100644 ---- a/cctools/ld64/src/3rd/helper.c -+++ b/cctools/ld64/src/3rd/helper.c -@@ -23,6 +23,7 @@ - const char ldVersionString[] = "236.3\n"; - - -+#if 0 - void __assert_rtn(const char *func, const char *file, int line, const char *msg) - { - #ifdef __FreeBSD__ -@@ -33,6 +34,7 @@ void __assert_rtn(const char *func, const char *file, int line, const char *msg) - __assert(msg, file, line); - #endif /* __FreeBSD__ */ - } -+#endif - - int _NSGetExecutablePath(char *path, unsigned int *size) - { -diff --git a/cctools/ld64/src/3rd/strlcat.c b/cctools/ld64/src/3rd/strlcat.c -index 500d038..dadf269 100644 ---- a/cctools/ld64/src/3rd/strlcat.c -+++ b/cctools/ld64/src/3rd/strlcat.c -@@ -23,6 +23,7 @@ - - #include - -+#if 0 - size_t - strlcat(char * restrict dst, const char * restrict src, size_t maxlen) { - const size_t srclen = strlen(src); -@@ -36,3 +37,4 @@ strlcat(char * restrict dst, const char * restrict src, size_t maxlen) { - } - return dstlen + srclen; - } -+#endif -\ No newline at end of file -diff --git a/cctools/ld64/src/3rd/strlcpy.c b/cctools/ld64/src/3rd/strlcpy.c -index c69f107..34a399b 100644 ---- a/cctools/ld64/src/3rd/strlcpy.c -+++ b/cctools/ld64/src/3rd/strlcpy.c -@@ -23,6 +23,7 @@ - - #include - -+#if 0 - size_t - strlcpy(char * restrict dst, const char * restrict src, size_t maxlen) { - const size_t srclen = strlen(src); -@@ -34,4 +35,4 @@ strlcpy(char * restrict dst, const char * restrict src, size_t maxlen) { - } - return srclen; - } -- -+#endif -\ No newline at end of file -diff --git a/cctools/ld64/src/ld/Options.cpp b/cctools/ld64/src/ld/Options.cpp -index 3a78df8..0ecf9f2 100644 ---- a/cctools/ld64/src/ld/Options.cpp -+++ b/cctools/ld64/src/ld/Options.cpp -@@ -49,6 +49,8 @@ namespace lto { - extern const char* version(); - } - -+#define __MAC_OS_X_VERSION_MIN_REQUIRED 1060 -+ - // magic to place command line in crash reports - const int crashreporterBufferSize = 2000; - static char crashreporterBuffer[crashreporterBufferSize]; -diff --git a/tools/find_lto_header.sh b/tools/find_lto_header.sh -index aee3a4a..4733981 100755 ---- a/tools/find_lto_header.sh -+++ b/tools/find_lto_header.sh -@@ -14,7 +14,7 @@ function try() - # Adding the include directory with -I causes the build to fail. - ln -sf "$LLVM_INC_DIR/llvm-c/lto.h" "include/llvm-c/lto.h" - mkdir -p tmp -- echo -n "-Wl,-rpath,$LLVM_LIB_DIR,--enable-new-dtags -L$LLVM_LIB_DIR -lLTO " > tmp/ldflags -+ echo -n "-Wl,-rpath,$LLVM_LIB_DIR -L$LLVM_LIB_DIR -lLTO " > tmp/ldflags - echo -n "-DLTO_SUPPORT=1 " > tmp/cflags - echo -n "-DLTO_SUPPORT=1 " > tmp/cxxflags - echo -n "$LLVM_LIB_DIR" > tmp/ldpath --- -1.9.3 (Apple Git-50) - diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix index 4dbdbede60e..bfb389ef37c 100644 --- a/pkgs/os-specific/darwin/cctools/port.nix +++ b/pkgs/os-specific/darwin/cctools/port.nix @@ -1,31 +1,47 @@ { stdenv, fetchurl, autoconf, automake, libtool -, llvm, libcxx, clang, openssl, libuuid +, llvm, libcxx, libcxxabi, clang, openssl, libuuid +, libobjc ? null }: let baseParams = rec { name = "cctools-port-${version}"; - version = "855"; + version = "862"; src = let # Should be fetchFromGitHub but it was whining so this will do for now owner = "tpoechtrager"; repo = "cctools-port"; - rev = "7083dddbb0f106d791d313829ea7dc45db90e375"; + rev = "59d21d2c793c51d205c8b4ab14b9b28e63c72445"; in fetchurl { url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz"; - sha256 = "017gxlcwgi7xhayjzj9w3fac175p2rm4vjzf9cycq9683m9pmyzj"; + sha256 = "01f31ijpnplbiyp7ldwzy8vbkn3j3m56n5blsvsav5nlp4lp2g71"; }; - buildInputs = [ - autoconf automake libtool llvm clang openssl libuuid libcxx - ]; + buildInputs = [ autoconf automake libtool openssl libuuid ] ++ + # Only need llvm and clang if the stdenv isn't already clang-based (TODO: just make a stdenv.cc.isClang) + stdenv.lib.optionals (!stdenv.isDarwin) [ llvm clang ] ++ + stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ]; - patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ]; + patches = [ + ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch + ]; enableParallelBuilding = true; + configureFlags = stdenv.lib.optionals (!stdenv.isDarwin) [ "CXXFLAGS=-I${libcxx}/include/c++/v1" ]; + postPatch = '' + sed -i -e 's/addStandardLibraryDirectories = true/addStandardLibraryDirectories = false/' cctools/ld64/src/ld/Options.cpp + + # FIXME: there are far more absolute path references that I don't want to fix right now + substituteInPlace cctools/configure.ac \ + --replace "-isystem /usr/local/include -isystem /usr/pkg/include" "" \ + --replace "-L/usr/local/lib" "" \ + + substituteInPlace cctools/include/Makefile \ + --replace "/bin/" "" + patchShebangs tools sed -i -e 's/which/type -P/' tools/*.sh @@ -39,6 +55,8 @@ let # include_next "unistd.h" #endif EOF + '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' + sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' cctools/autogen.sh ''; preConfigure = '' @@ -46,6 +64,12 @@ let sh autogen.sh ''; + preInstall = '' + pushd include + make DSTROOT=$out/include RC_OS=common install + popd + ''; + meta = { homepage = "http://www.opensource.apple.com/source/cctools/"; description = "Mac OS X Compiler Tools (cross-platform port)"; @@ -53,15 +77,13 @@ let }; }; in { - # Hacks that for the darwin stdenv (sad that we need write workarounds for what started as a darwin package) native = stdenv.mkDerivation (baseParams // { - patches = baseParams.patches ++ [ ./darwin.patch ]; - + # A hack for now... postInstall = '' - cd $out/bin - for tool in dwarfdump dsymutil; do - ln -s /usr/bin/$tool - done + cat >$out/bin/dsymutil << EOF + #!${stdenv.shell} + EOF + chmod +x $out/bin/dsymutil ''; }); diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 72382fae5ea..bfb23206a25 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8402,11 +8402,11 @@ let cmdline = callPackage ../os-specific/darwin/command-line-tools {}; in rec { - cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools/port.nix { + cctools = callPackage (forceNativeDrv (callPackage ../os-specific/darwin/cctools/port.nix {}).cross) { cross = assert crossSystem != null; crossSystem; inherit maloader; xctoolchain = xcode.toolchain; - }); + }; cctools_native = (callPackage ../os-specific/darwin/cctools/port.nix {}).native; From 25e9475b19e6f56b381d76fde21c06f753d954a2 Mon Sep 17 00:00:00 2001 From: Itai Zukerman Date: Sat, 7 Feb 2015 22:20:59 -0800 Subject: [PATCH 147/248] Added Haskell package vector-fftw. --- .../libraries/haskell/vector-fftw/default.nix | 17 +++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/development/libraries/haskell/vector-fftw/default.nix diff --git a/pkgs/development/libraries/haskell/vector-fftw/default.nix b/pkgs/development/libraries/haskell/vector-fftw/default.nix new file mode 100644 index 00000000000..f1bdbfb3d1e --- /dev/null +++ b/pkgs/development/libraries/haskell/vector-fftw/default.nix @@ -0,0 +1,17 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, fftw, primitive, storableComplex, vector }: + +cabal.mkDerivation (self: { + pname = "vector-fftw"; + version = "0.1.3.2"; + sha256 = "0rfvr86yiwp4wb9qjggbbacmgkfj6xrk6h7xb4xmhmk88slvifm0"; + buildDepends = [ primitive storableComplex vector ]; + extraLibraries = [ fftw ]; + meta = { + homepage = "http://hackage.haskell.org/package/vector-fftw"; + description = "A binding to the fftw library for one-dimensional vectors"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index c17972dbd38..cc936d77608 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2827,6 +2827,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in vectorBinaryInstances = callPackage ../development/libraries/haskell/vector-binary-instances {}; + vectorFftw = callPackage ../development/libraries/haskell/vector-fftw {}; + vectorInstances = callPackage ../development/libraries/haskell/vector-instances {}; vectorSpace = callPackage ../development/libraries/haskell/vector-space {}; From f43c324cee6ed5fdbe679b70b71caaca1c4629a8 Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sun, 8 Feb 2015 01:32:32 -0500 Subject: [PATCH 148/248] Actually build (a newer version of) unifdef from source, so we can use it on non-linux platforms --- .../tools/misc/unifdef/default.nix | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/pkgs/development/tools/misc/unifdef/default.nix b/pkgs/development/tools/misc/unifdef/default.nix index f4b38f4f7ab..6e14673701c 100644 --- a/pkgs/development/tools/misc/unifdef/default.nix +++ b/pkgs/development/tools/misc/unifdef/default.nix @@ -1,24 +1,27 @@ { fetchurl, stdenv }: -stdenv.mkDerivation { - name = "unifdef-1.0"; +stdenv.mkDerivation rec { + name = "unifdef-2.6"; src = fetchurl { - url = http://www.cs.cmu.edu/~ajw/public/dist/unifdef-1.0.tar.gz; - sha256 = "1bcxq7qgf6r98m6l277fx6s0gn9sr4vn7f3s0r5mwx79waqk0k6i"; + url = "https://github.com/fanf2/unifdef/archive/${name}.tar.gz"; + sha256 = "1p5wr5ms9w8kijy9h7qs1mz36dlavdj6ngz2bks588w7a20kcqxj"; }; - buildPhase = '' - make unifdef + postUnpack = '' + substituteInPlace $sourceRoot/unifdef.c \ + --replace '#include "version.h"' "" + + substituteInPlace $sourceRoot/Makefile \ + --replace "unifdef.c: version.h" "unifdef.c:" ''; - installPhase = '' - mkdir -p $out/bin - cp unifdef $out/bin + preBuild = '' + unset HOME + export DESTDIR=$out ''; meta = { - description = "useful for removing #ifdef'ed lines from a file while otherwise leaving the file alone"; - + description = "Selectively remove C preprocessor conditionals"; }; } From 29f265dfd28ce5567106a7a1df3bd6c1fbd8406f Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sun, 8 Feb 2015 01:53:52 -0500 Subject: [PATCH 149/248] Add a big bundle of packages from apple source releases. Many of them only provide headers or stubs, but are what's needed for the upcoming pure-darwin stdenv, and don't do any harm for now. --- .../CF/add-cf-initialize.patch | 18 + .../CF/add-cfmachport.patch | 22 + .../apple-source-releases/CF/default.nix | 41 + .../CarbonHeaders/default.nix | 20 + .../CommonCrypto/default.nix | 16 + .../CoreOSMakefiles/default.nix | 30 + .../apple-source-releases/Csu/default.nix | 27 + .../apple-source-releases/IOKit/default.nix | 187 ++ .../apple-source-releases/Libc/825_40_1.nix | 15 + .../apple-source-releases/Libc/default.nix | 30 + .../apple-source-releases/Libinfo/default.nix | 16 + .../apple-source-releases/Libm/default.nix | 13 + .../Libnotify/default.nix | 11 + .../Libsystem/default.nix | 147 ++ .../Libsystem/system_c_symbols | 1530 +++++++++++++++++ .../Libsystem/system_kernel_symbols | 929 ++++++++++ .../Security/default.nix | 116 ++ .../adv_cmds/default.nix | 30 + .../architecture/default.nix | 23 + .../bootstrap_cmds/default.nix | 44 + .../apple-source-releases/configd/default.nix | 205 +++ .../copyfile/default.nix | 10 + .../darwin/apple-source-releases/default.nix | 83 + .../apple-source-releases/dtrace/default.nix | 50 + .../apple-source-releases/dyld/default.nix | 18 + .../eap8021x/default.nix | 11 + .../apple-source-releases/launchd/default.nix | 14 + .../libauto/auto_dtrace.h | 129 ++ .../apple-source-releases/libauto/default.nix | 74 + .../libclosure/default.nix | 10 + .../libdispatch/default.nix | 13 + .../libiconv/default.nix | 15 + .../libpthread/default.nix | 13 + .../libresolv/default.nix | 51 + .../libunwind/default.nix | 29 + .../mDNSResponder/default.nix | 10 + .../apple-source-releases/objc4/default.nix | 35 + .../apple-source-releases/objc4/objc-probes.h | 65 + .../apple-source-releases/objc4/pure.nix | 118 ++ .../objc4/spinlocks.patch | 107 ++ .../apple-source-releases/ppp/default.nix | 16 + .../removefile/default.nix | 10 + .../apple-source-releases/xnu/default.nix | 117 ++ pkgs/top-level/all-packages.nix | 3 +- 44 files changed, 4470 insertions(+), 1 deletion(-) create mode 100644 pkgs/os-specific/darwin/apple-source-releases/CF/add-cf-initialize.patch create mode 100644 pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch create mode 100644 pkgs/os-specific/darwin/apple-source-releases/CF/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/CoreOSMakefiles/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/Libc/825_40_1.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/Libnotify/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols create mode 100644 pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols create mode 100644 pkgs/os-specific/darwin/apple-source-releases/Security/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/configd/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/libauto/auto_dtrace.h create mode 100644 pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/mDNSResponder/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/objc4/objc-probes.h create mode 100644 pkgs/os-specific/darwin/apple-source-releases/objc4/pure.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/objc4/spinlocks.patch create mode 100644 pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix create mode 100644 pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/add-cf-initialize.patch b/pkgs/os-specific/darwin/apple-source-releases/CF/add-cf-initialize.patch new file mode 100644 index 00000000000..46c230cfd1d --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/CF/add-cf-initialize.patch @@ -0,0 +1,18 @@ +--- CF-855.17/CFRuntime.c 2014-11-26 21:29:48.000000000 -0800 ++++ CF-855.17/CFRuntime.c.new 2014-11-26 21:30:01.000000000 -0800 +@@ -756,6 +756,7 @@ + extern void __CFErrorInitialize(void); + extern void __CFTreeInitialize(void); + extern void __CFURLInitialize(void); ++extern void __CFPreferencesDomainInitialize(void); + #if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_EMBEDDED_MINI + extern void __CFMachPortInitialize(void); + #endif +@@ -1015,6 +1016,7 @@ + __CFErrorInitialize(); + __CFTreeInitialize(); + __CFURLInitialize(); ++ __CFPreferencesDomainInitialize(); + + #if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_WINDOWS + __CFBundleInitialize(); diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch b/pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch new file mode 100644 index 00000000000..a1018d389c1 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch @@ -0,0 +1,22 @@ +--- CF-855.17/CoreFoundation.h 2015-01-03 00:17:41.000000000 -0500 ++++ CF-855.17/CoreFoundation.h.new 2015-01-03 00:18:35.000000000 -0500 +@@ -72,6 +72,7 @@ + #include + #include + #include ++#include + #include + #include + #include + +--- CF-855.17/Makefile 2015-01-03 00:32:52.000000000 -0500 ++++ CF-855.17/Makefile.new 2015-01-03 00:33:07.000000000 -0500 +@@ -9,7 +9,7 @@ + HFILES = $(wildcard *.h) + INTERMEDIATE_HFILES = $(addprefix $(OBJBASE)/CoreFoundation/,$(HFILES)) + +-PUBLIC_HEADERS=CFArray.h CFBag.h CFBase.h CFBinaryHeap.h CFBitVector.h CFBundle.h CFByteOrder.h CFCalendar.h CFCharacterSet.h CFData.h CFDate.h CFDateFormatter.h CFDictionary.h CFError.h CFLocale.h CFMessagePort.h CFNumber.h CFNumberFormatter.h CFPlugIn.h CFPlugInCOM.h CFPreferences.h CFPropertyList.h CFRunLoop.h CFSet.h CFSocket.h CFStream.h CFString.h CFStringEncodingExt.h CFTimeZone.h CFTree.h CFURL.h CFURLAccess.h CFUUID.h CFUserNotification.h CFXMLNode.h CFXMLParser.h CFAvailability.h CFUtilities.h CoreFoundation.h ++PUBLIC_HEADERS=CFArray.h CFBag.h CFBase.h CFBinaryHeap.h CFBitVector.h CFBundle.h CFByteOrder.h CFCalendar.h CFCharacterSet.h CFData.h CFDate.h CFDateFormatter.h CFDictionary.h CFError.h CFLocale.h CFMachPort.h CFMessagePort.h CFNumber.h CFNumberFormatter.h CFPlugIn.h CFPlugInCOM.h CFPreferences.h CFPropertyList.h CFRunLoop.h CFSet.h CFSocket.h CFStream.h CFString.h CFStringEncodingExt.h CFTimeZone.h CFTree.h CFURL.h CFURLAccess.h CFUUID.h CFUserNotification.h CFXMLNode.h CFXMLParser.h CFAvailability.h CFUtilities.h CoreFoundation.h + + PRIVATE_HEADERS=CFBundlePriv.h CFCharacterSetPriv.h CFError_Private.h CFLogUtilities.h CFPriv.h CFRuntime.h CFStorage.h CFStreamAbstract.h CFStreamPriv.h CFStreamInternal.h CFStringDefaultEncoding.h CFStringEncodingConverter.h CFStringEncodingConverterExt.h CFUniChar.h CFUnicodeDecomposition.h CFUnicodePrecomposition.h ForFoundationOnly.h CFBurstTrie.h CFICULogging.h + diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix new file mode 100644 index 00000000000..3d4ac89e0a7 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix @@ -0,0 +1,41 @@ +{ stdenv, appleDerivation, icu, dyld, libdispatch, launchd, libclosure }: + +appleDerivation { + buildInputs = [ dyld icu libdispatch launchd libclosure ]; + + patches = [ ./add-cf-initialize.patch ./add-cfmachport.patch ]; + + preBuild = '' + substituteInPlace Makefile \ + --replace "/usr/bin/clang" "clang" \ + --replace "-arch i386 " "" \ + --replace "/usr/bin/" "" \ + --replace "/usr/sbin/" "" \ + --replace "/bin/" "" \ + --replace "INSTALLNAME=/System" "INSTALLNAME=$out" \ + --replace "install_name_tool -id /System" "install_name_tool -id $out" \ + --replace "-licucore.A" "-licui18n -licuuc" \ + --replace 'chown -RH -f root:wheel $(DSTBASE)/CoreFoundation.framework' "" \ + --replace 'chmod -RH' 'chmod -R' + + replacement=''$'#define __PTK_FRAMEWORK_COREFOUNDATION_KEY5 55\n#define _pthread_getspecific_direct(key) pthread_getspecific((key))\n#define _pthread_setspecific_direct(key, val) pthread_setspecific((key), (val))' + + substituteInPlace CFPlatform.c --replace "#include " "$replacement" + + substituteInPlace CFRunLoop.c --replace "#include " "" + + substituteInPlace CFURLPriv.h \ + --replace "#include " "" \ + --replace "#include " "" \ + --replace "CFFileSecurityRef" "void *" \ + --replace "CFURLEnumeratorResult" "void *" \ + --replace "CFURLEnumeratorRef" "void *" + + export DSTROOT=$out + ''; + + postInstall = '' + mv $out/System/* $out + rmdir $out/System + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix new file mode 100644 index 00000000000..38215fa8f90 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix @@ -0,0 +1,20 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/include + cp MacTypes.h $out/include + cp ConditionalMacros.h $out/include + + substituteInPlace $out/include/MacTypes.h \ + --replace "CarbonCore/" "" + ''; + + meta = with stdenv.lib; { + maintainers = with maintainers; [ copumpkin ]; + platforms = platforms.darwin; + license = licenses.apsl20; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix new file mode 100644 index 00000000000..5bcf94a18ce --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix @@ -0,0 +1,16 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/include/CommonCrypto + cp include/* $out/include/CommonCrypto + ''; + + meta = with stdenv.lib; { + maintainers = with maintainers; [ copumpkin ]; + platforms = platforms.darwin; + license = licenses.apsl20; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/CoreOSMakefiles/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CoreOSMakefiles/default.nix new file mode 100644 index 00000000000..9f6031771c2 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/CoreOSMakefiles/default.nix @@ -0,0 +1,30 @@ +{ stdenv, appleDerivation, unifdef }: + +appleDerivation { + buildinputs = [ unifdef ]; + + phases = [ "unpackPhase" "installPhase" ]; + + preInstall = '' + substituteInPlace Makefile \ + --replace "rsync -a --exclude=.svn --exclude=.git" "cp -r" + + substituteInPlace Standard/Commands.in \ + --replace "/bin/sh" "bash" \ + --replace "/usr/bin/compress" "compress" \ + --replace "/usr/bin/gzip" "gzip" \ + --replace "/bin/pax" "pax" \ + --replace "/usr/bin/tar" "tar" \ + --replace "xcrun -find" "echo" \ + --replace '$(Install_Program_Group) -s' '$(Install_Program_Group)' \ + --replace '$(Install_Program_Mode) -s' '$(Install_Program_Mode)' + + substituteInPlace ReleaseControl/Common.make \ + --replace "/tmp" "$TMPDIR" + + substituteInPlace ReleaseControl/BSDCommon.make \ + --replace '$(shell xcrun -find -sdk $(SDKROOT) cc)' "cc" + + export DSTROOT=$out + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix new file mode 100644 index 00000000000..893e9f2b2eb --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix @@ -0,0 +1,27 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + postUnpack = '' + substituteInPlace $sourceRoot/Makefile \ + --replace "/usr/lib" "/lib" \ + --replace "/usr/local/lib" "/lib" \ + --replace "/usr/bin" "" \ + --replace "/bin/" "" + ''; + + # Mac OS didn't support rpaths back before 10.5, and this package intentionally builds stubs targeting versions prior to that + NIX_DONT_SET_RPATH = "1"; + NIX_NO_SELF_RPATH = "1"; + + installPhase = '' + export DSTROOT=$out + make install + ''; + + meta = with stdenv.lib; { + description = "Apple's common startup stubs for darwin"; + maintainers = with maintainers; [ copumpkin ]; + platforms = platforms.darwin; + license = licenses.apsl20; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix b/pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix new file mode 100644 index 00000000000..12f38cd195f --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix @@ -0,0 +1,187 @@ +{ stdenv, appleDerivation, IOKitSrcs, xnu }: + +# Someday it'll make sense to split these out into their own packages, but today is not that day. +appleDerivation { + srcs = stdenv.lib.attrValues IOKitSrcs; + sourceRoot = "."; + + phases = [ "unpackPhase" "installPhase" ]; + + __propagatedImpureHostDeps = [ + "/System/Library/Frameworks/IOKit.framework/IOKit" + "/System/Library/Frameworks/IOKit.framework/Resources" + "/System/Library/Frameworks/IOKit.framework/Versions" + ]; + + installPhase = '' + ###### IMPURITIES + mkdir -p $out/Library/Frameworks/IOKit.framework + pushd $out/Library/Frameworks/IOKit.framework + ln -s /System/Library/Frameworks/IOKit.framework/IOKit + ln -s /System/Library/Frameworks/IOKit.framework/Resources + popd + + ###### HEADERS + + export dest=$out/Library/Frameworks/IOKit.framework/Headers + mkdir -p $dest + + pushd $dest + mkdir audio avc DV firewire graphics hid hidsystem i2c kext ndrvsupport + mkdir network ps pwr_mgt sbp2 scsi serial storage stream usb video + popd + + # root: complete + cp IOKitUser-907.100.13/IOCFBundle.h $dest + cp IOKitUser-907.100.13/IOCFPlugIn.h $dest + cp IOKitUser-907.100.13/IOCFSerialize.h $dest + cp IOKitUser-907.100.13/IOCFUnserialize.h $dest + cp IOKitUser-907.100.13/IOCFURLAccess.h $dest + cp IOKitUser-907.100.13/IODataQueueClient.h $dest + cp IOKitUser-907.100.13/IOKitLib.h $dest + cp IOKitUser-907.100.13/iokitmig.h $dest + cp ${xnu}/Library/PrivateFrameworks/IOKit.framework/Versions/A/Headers/*.h $dest + + # audio: complete + cp IOAudioFamily-197.4.2/IOAudioDefines.h $dest/audio + cp IOKitUser-907.100.13/audio.subproj/IOAudioLib.h $dest/audio + cp IOAudioFamily-197.4.2/IOAudioTypes.h $dest/audio + + # avc: complete + cp IOFireWireAVC-422.4.0/IOFireWireAVC/IOFireWireAVCConsts.h $dest/avc + cp IOFireWireAVC-422.4.0/IOFireWireAVCLib/IOFireWireAVCLib.h $dest/avc + + # DV: complete + cp IOFWDVComponents-207.4.1/DVFamily.h $dest/DV + + # firewire: complete + cp IOFireWireFamily-455.4.0/IOFireWireFamily.kmodproj/IOFireWireFamilyCommon.h $dest/firewire + cp IOFireWireFamily-455.4.0/IOFireWireLib.CFPlugInProj/IOFireWireLib.h $dest/firewire + cp IOFireWireFamily-455.4.0/IOFireWireLib.CFPlugInProj/IOFireWireLibIsoch.h $dest/firewire + cp IOFireWireFamily-455.4.0/IOFireWireFamily.kmodproj/IOFWIsoch.h $dest/firewire + + # graphics: missing AppleGraphicsDeviceControlUserCommand.h + cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOAccelClientConnect.h $dest/graphics + cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOAccelSurfaceConnect.h $dest/graphics + cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOAccelTypes.h $dest/graphics + cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOFramebufferShared.h $dest/graphics + cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOGraphicsEngine.h $dest/graphics + cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOGraphicsInterface.h $dest/graphics + cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOGraphicsInterfaceTypes.h $dest/graphics + cp IOKitUser-907.100.13/graphics.subproj/IOGraphicsLib.h $dest/graphics + cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOGraphicsTypes.h $dest/graphics + + # hid: complete + cp IOKitUser-907.100.13/hid.subproj/IOHIDBase.h $dest/hid + cp IOKitUser-907.100.13/hid.subproj/IOHIDDevice.h $dest/hid + cp IOKitUser-907.100.13/hid.subproj/IOHIDDevicePlugIn.h $dest/hid + cp IOKitUser-907.100.13/hid.subproj/IOHIDElement.h $dest/hid + cp IOKitUser-907.100.13/hid.subproj/IOHIDLib.h $dest/hid + cp IOKitUser-907.100.13/hid.subproj/IOHIDManager.h $dest/hid + cp IOKitUser-907.100.13/hid.subproj/IOHIDQueue.h $dest/hid + cp IOKitUser-907.100.13/hid.subproj/IOHIDTransaction.h $dest/hid + cp IOKitUser-907.100.13/hid.subproj/IOHIDValue.h $dest/hid + cp IOHIDFamily-503.215.2/IOHIDFamily/IOHIDKeys.h $dest/hid + cp IOHIDFamily-503.215.2/IOHIDFamily/IOHIDUsageTables.h $dest/hid + cp IOHIDFamily-503.215.2/IOHIDLib/IOHIDLibObsolete.h $dest/hid + + # hidsystem: complete + cp IOHIDFamily-503.215.2/IOHIDSystem/IOKit/hidsystem/ev_keymap.h $dest/hidsystem + cp IOKitUser-907.100.13/hidsystem.subproj/event_status_driver.h $dest/hidsystem + cp IOKitUser-907.100.13/hidsystem.subproj/IOHIDLib.h $dest/hidsystem + cp IOHIDFamily-503.215.2/IOHIDSystem/IOKit/hidsystem/IOHIDParameter.h $dest/hidsystem + cp IOHIDFamily-503.215.2/IOHIDSystem/IOKit/hidsystem/IOHIDShared.h $dest/hidsystem + cp IOHIDFamily-503.215.2/IOHIDSystem/IOKit/hidsystem/IOHIDTypes.h $dest/hidsystem + cp IOHIDFamily-503.215.2/IOHIDSystem/IOKit/hidsystem/IOLLEvent.h $dest/hidsystem + + + # i2c: complete + cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/i2c/IOI2CInterface.h $dest/i2c + + # kext: complete + cp IOKitUser-907.100.13/kext.subproj/KextManager.h $dest/kext + + # ndrvsupport: complete + cp IOGraphics-471.92.1/IONDRVSupport/IOKit/ndrvsupport/IOMacOSTypes.h $dest/ndrvsupport + cp IOGraphics-471.92.1/IONDRVSupport/IOKit/ndrvsupport/IOMacOSVideo.h $dest/ndrvsupport + + # network: complete + cp IONetworkingFamily-100/IOEthernetController.h $dest/network + cp IONetworkingFamily-100/IOEthernetInterface.h $dest/network + cp IONetworkingFamily-100/IOEthernetStats.h $dest/network + cp IONetworkingFamily-100/IONetworkController.h $dest/network + cp IONetworkingFamily-100/IONetworkData.h $dest/network + cp IONetworkingFamily-100/IONetworkInterface.h $dest/network + cp IOKitUser-907.100.13/network.subproj/IONetworkLib.h $dest/network + cp IONetworkingFamily-100/IONetworkMedium.h $dest/network + cp IONetworkingFamily-100/IONetworkStack.h $dest/network + cp IONetworkingFamily-100/IONetworkStats.h $dest/network + cp IONetworkingFamily-100/IONetworkUserClient.h $dest/network + + # ps: missing IOUPSPlugIn.h + cp IOKitUser-907.100.13/ps.subproj/IOPowerSources.h $dest/ps + cp IOKitUser-907.100.13/ps.subproj/IOPSKeys.h $dest/ps + + # pwr_mgt: complete + cp IOKitUser-907.100.13/pwr_mgt.subproj/IOPMKeys.h $dest/pwr_mgt + cp IOKitUser-907.100.13/pwr_mgt.subproj/IOPMLib.h $dest/pwr_mgt + cp ${xnu}/Library/PrivateFrameworks/IOKit.framework/Versions/A/Headers/pwr_mgt/*.h $dest/pwr_mgt + cp IOKitUser-907.100.13/pwr_mgt.subproj/IOPMLibPrivate.h $dest/pwr_mgt # Private + + # sbp2: complete + cp IOFireWireSBP2-426.4.1/IOFireWireSBP2Lib/IOFireWireSBP2Lib.h $dest/sbp2 + + # scsi: omitted for now + + # serial: complete + cp IOSerialFamily-64.1.1/IOSerialFamily.kmodproj/IOSerialKeys.h $dest/serial + cp IOSerialFamily-64.1.1/IOSerialFamily.kmodproj/ioss.h $dest/serial + + # storage: complete + # Needs ata subdirectory + cp IOStorageFamily-172/IOAppleLabelScheme.h $dest/storage + cp IOStorageFamily-172/IOApplePartitionScheme.h $dest/storage + cp IOBDStorageFamily-14/IOBDBlockStorageDevice.h $dest/storage + cp IOBDStorageFamily-14/IOBDMedia.h $dest/storage + cp IOBDStorageFamily-14/IOBDMediaBSDClient.h $dest/storage + cp IOBDStorageFamily-14/IOBDTypes.h $dest/storage + cp IOStorageFamily-172/IOBlockStorageDevice.h $dest/storage + cp IOStorageFamily-172/IOBlockStorageDriver.h $dest/storage + cp IOCDStorageFamily-51/IOCDBlockStorageDevice.h $dest/storage + cp IOCDStorageFamily-51/IOCDMedia.h $dest/storage + cp IOCDStorageFamily-51/IOCDMediaBSDClient.h $dest/storage + cp IOCDStorageFamily-51/IOCDPartitionScheme.h $dest/storage + cp IOCDStorageFamily-51/IOCDTypes.h $dest/storage + cp IODVDStorageFamily-35/IODVDBlockStorageDevice.h $dest/storage + cp IODVDStorageFamily-35/IODVDMedia.h $dest/storage + cp IODVDStorageFamily-35/IODVDMediaBSDClient.h $dest/storage + cp IODVDStorageFamily-35/IODVDTypes.h $dest/storage + cp IOStorageFamily-172/IOFDiskPartitionScheme.h $dest/storage + cp IOStorageFamily-172/IOFilterScheme.h $dest/storage + cp IOFireWireSerialBusProtocolTransport-251.0.1/IOFireWireStorageCharacteristics.h $dest/storage + cp IOStorageFamily-172/IOGUIDPartitionScheme.h $dest/storage + cp IOStorageFamily-172/IOMedia.h $dest/storage + cp IOStorageFamily-172/IOMediaBSDClient.h $dest/storage + cp IOStorageFamily-172/IOPartitionScheme.h $dest/storage + cp IOStorageFamily-172/IOStorage.h $dest/storage + cp IOStorageFamily-172/IOStorageCardCharacteristics.h $dest/storage + cp IOStorageFamily-172/IOStorageDeviceCharacteristics.h $dest/storage + cp IOStorageFamily-172/IOStorageProtocolCharacteristics.h $dest/storage + + # stream: missing altogether + + # usb: complete + cp IOUSBFamily-630.4.5/IOUSBFamily/Headers/IOUSBLib.h $dest/usb + cp IOUSBFamily-630.4.5/IOUSBUserClient/Headers/IOUSBUserClient.h $dest/usb + cp IOUSBFamily-560.4.2/IOUSBFamily/Headers/USB.h $dest/usb # This file is empty in 630.4.5! + cp IOUSBFamily-630.4.5/IOUSBFamily/Headers/USBSpec.h $dest/usb + + # video: missing altogether + ''; + + meta = with stdenv.lib; { + maintainers = with maintainers; [ joelteon copumpkin ]; + platforms = platforms.darwin; + license = licenses.apsl20; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libc/825_40_1.nix b/pkgs/os-specific/darwin/apple-source-releases/Libc/825_40_1.nix new file mode 100644 index 00000000000..b5e7e512393 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/Libc/825_40_1.nix @@ -0,0 +1,15 @@ +{ stdenv, appleDerivation, ed, unifdef }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + buildInputs = [ ed unifdef ]; + + installPhase = '' + export SRCROOT=$PWD + export DSTROOT=$out + export PUBLIC_HEADERS_FOLDER_PATH=include + export PRIVATE_HEADERS_FOLDER_PATH=include + bash xcodescripts/headers.sh + ''; +} \ No newline at end of file diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix new file mode 100644 index 00000000000..16cfa9e554b --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix @@ -0,0 +1,30 @@ +{ stdenv, appleDerivation, ed, unifdef, Libc_old }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + buildInputs = [ ed unifdef ]; + + # TODO: asl.h actually comes from syslog project now + installPhase = '' + export SRCROOT=$PWD + export DSTROOT=$out + export PUBLIC_HEADERS_FOLDER_PATH=include + export PRIVATE_HEADERS_FOLDER_PATH=include + bash xcodescripts/headers.sh + + # Ugh Apple stopped releasing this stuff so we need an older one... + cp ${Libc_old}/include/spawn.h $out/include + cp ${Libc_old}/include/setjmp.h $out/include + cp ${Libc_old}/include/ucontext.h $out/include + cp ${Libc_old}/include/pthread*.h $out/include + cp ${Libc_old}/include/sched.h $out/include + cp -R ${Libc_old}/include/malloc $out/include + + mkdir -p $out/include/libkern + cp ${Libc_old}/include/asl.h $out/include + cp ${Libc_old}/include/libproc.h $out/include + cp ${Libc_old}/include/libkern/OSAtomic.h $out/include/libkern + cp ${Libc_old}/include/libkern/OSCacheControl.h $out/include/libkern + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix new file mode 100644 index 00000000000..2756857ba67 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix @@ -0,0 +1,16 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + substituteInPlace xcodescripts/install_files.sh \ + --replace "/usr/local/" "/" \ + --replace "/usr/" "/" \ + --replace '-o "$INSTALL_OWNER" -g "$INSTALL_GROUP"' "" \ + --replace "ln -h" "ln -n" + + export DSTROOT=$out + sh xcodescripts/install_files.sh + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix new file mode 100644 index 00000000000..b409a7347ef --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix @@ -0,0 +1,13 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/include + + cp Source/Intel/math.h $out/include + cp Source/Intel/fenv.h $out/include + cp Source/complex.h $out/include + ''; +} \ No newline at end of file diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libnotify/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libnotify/default.nix new file mode 100644 index 00000000000..810c8e8315a --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/Libnotify/default.nix @@ -0,0 +1,11 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/include + cp notify.h $out/include + cp notify_keys.h $out/include + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix new file mode 100644 index 00000000000..ecab0941332 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix @@ -0,0 +1,147 @@ +{ stdenv, appleDerivation, cpio, bootstrap_cmds, xnu, Libc, Libm, libdispatch, cctools, Libinfo, + dyld, Csu, architecture, libclosure, CarbonHeaders, ncurses, CommonCrypto, copyfile, + removefile, libresolv, Libnotify, libpthread, mDNSResponder, launchd, version }: + +appleDerivation rec { + phases = [ "unpackPhase" "installPhase" ]; + + buildInputs = [ cpio libpthread ]; + + systemlibs = [ "cache" + "commonCrypto" + "compiler_rt" + "copyfile" + "corecrypto" + "dispatch" + "dyld" + "keymgr" + "kxld" + "launch" + "macho" + "quarantine" + "removefile" + "system_asl" + "system_blocks" + # "system_c" # special re-export here to hide newer functions + "system_configuration" + "system_dnssd" + "system_info" + # "system_kernel" # special re-export here to hide newer functions + "system_m" + "system_malloc" + "system_network" + "system_notify" + "system_platform" + "system_pthread" + "system_sandbox" + "system_stats" + "unc" + "unwind" + "xpc" + ]; + + installPhase = '' + export NIX_ENFORCE_PURITY= + + mkdir -p $out/lib $out/include + + # Set up our include directories + (cd ${xnu}/include && find . -name '*.h' -or -name '*.defs' | cpio -pdm $out/include) + cp ${xnu}/Library/Frameworks/Kernel.framework/Versions/A/Headers/Availability*.h $out/include + cp ${xnu}/Library/Frameworks/Kernel.framework/Versions/A/Headers/stdarg.h $out/include + + for dep in ${Libc} ${Libm} ${Libinfo} ${dyld} ${architecture} ${libclosure} ${CarbonHeaders} \ + ${libdispatch} ${ncurses} ${CommonCrypto} ${copyfile} ${removefile} ${libresolv} \ + ${Libnotify} ${mDNSResponder} ${launchd}; do + (cd $dep/include && find . -name '*.h' | cpio -pdm $out/include) + done + + (cd ${cctools}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o) + + cat < $out/include/TargetConditionals.h + #ifndef __TARGETCONDITIONALS__ + #define __TARGETCONDITIONALS__ + #define TARGET_OS_MAC 1 + #define TARGET_OS_WIN32 0 + #define TARGET_OS_UNIX 0 + #define TARGET_OS_EMBEDDED 0 + #define TARGET_OS_IPHONE 0 + #define TARGET_IPHONE_SIMULATOR 0 + #define TARGET_OS_LINUX 0 + + #define TARGET_CPU_PPC 0 + #define TARGET_CPU_PPC64 0 + #define TARGET_CPU_68K 0 + #define TARGET_CPU_X86 0 + #define TARGET_CPU_X86_64 1 + #define TARGET_CPU_ARM 0 + #define TARGET_CPU_MIPS 0 + #define TARGET_CPU_SPARC 0 + #define TARGET_CPU_ALPHA 0 + #define TARGET_RT_MAC_CFM 0 + #define TARGET_RT_MAC_MACHO 1 + #define TARGET_RT_LITTLE_ENDIAN 1 + #define TARGET_RT_BIG_ENDIAN 0 + #define TARGET_RT_64_BIT 1 + #endif /* __TARGETCONDITIONALS__ */ + EOF + + # The startup object files + cp ${Csu}/lib/* $out/lib + + # selectively re-export functions from libsystem_c and libsystem_kernel + # to provide a consistent interface across OSX verions + mkdir -p $out/lib/system + ld -macosx_version_min 10.7 -arch x86_64 -dylib \ + -o $out/lib/system/libsystem_c.dylib \ + /usr/lib/libSystem.dylib \ + -reexported_symbols_list ${./system_c_symbols} + + ld -macosx_version_min 10.7 -arch x86_64 -dylib \ + -o $out/lib/system/libsystem_kernel.dylib \ + /usr/lib/libSystem.dylib \ + -reexported_symbols_list ${./system_kernel_symbols} + + # Set up the actual library link + clang -c -o CompatibilityHacks.o -Os CompatibilityHacks.c + clang -c -o init.o -Os init.c + ld -macosx_version_min 10.7 \ + -arch x86_64 \ + -dylib \ + -o $out/lib/libSystem.dylib \ + CompatibilityHacks.o init.o \ + -compatibility_version 1.0 \ + -current_version ${version} \ + -reexport_library $out/lib/system/libsystem_c.dylib \ + -reexport_library $out/lib/system/libsystem_kernel.dylib \ + ${stdenv.lib.concatStringsSep " " + (map (l: "-reexport_library /usr/lib/system/lib${l}.dylib") systemlibs)} + + # Set up links to pretend we work like a conventional unix (Apple's design, not mine!) + for name in c dbm dl info m mx poll proc pthread rpcsvc gcc_s.10.4 gcc_s.10.5; do + ln -s libSystem.dylib $out/lib/lib$name.dylib + done + + # This probably doesn't belong here, but we want to stay similar to glibc, which includes resolv internally... + cp ${libresolv}/lib/libresolv.9.dylib $out/lib/libresolv.9.dylib + resolv_libSystem=$(otool -L "$out/lib/libresolv.9.dylib" | tail -n +3 | grep -o "$NIX_STORE.*-\S*") || true + echo $libs + + chmod +w $out/lib/libresolv.9.dylib + install_name_tool \ + -id $out/lib/libresolv.9.dylib \ + -change "$resolv_libSystem" $out/lib/libSystem.dylib \ + -delete_rpath ${libresolv}/lib \ + $out/lib/libresolv.9.dylib + ln -s libresolv.9.dylib $out/lib/libresolv.dylib + + otool -L $out/lib/libresolv.dylib + ''; + + meta = with stdenv.lib; { + description = "The Mac OS libc/libSystem (impure symlinks to binaries with pure headers)"; + maintainers = with maintainers; [ copumpkin gridaphobe ]; + platforms = platforms.darwin; + license = licenses.apsl20; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols new file mode 100644 index 00000000000..0c814899c3c --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols @@ -0,0 +1,1530 @@ +_NSGetNextSearchPathEnumeration +_NSStartSearchPathEnumeration +_OSAtomicAdd32 +_OSAtomicAdd32Barrier +_OSAtomicAnd32 +_OSAtomicDequeue +_OSAtomicEnqueue +_OSSpinLockLock +_OSSpinLockUnlock +__Block_copy +__Block_release +__CurrentRuneLocale +__DefaultRuneLocale +__Exit +__NSGetArgc +__NSGetArgv +__NSGetEnviron +__NSGetMachExecuteHeader +__NSGetProgname +__PathLocale +__Read_RuneMagi +___Balloc_D2A +___Bfree_D2A +___ULtod_D2A +____mb_cur_max +____mb_cur_max_l +____runetype +____runetype_l +____tolower +____tolower_l +____toupper +____toupper_l +___add_ovflpage +___addel +___any_on_D2A +___assert_rtn +___b2d_D2A +___big_delete +___big_insert +___big_keydata +___big_return +___big_split +___bigtens_D2A +___bt_close +___bt_cmp +___bt_defcmp +___bt_defpfx +___bt_delete +___bt_dleaf +___bt_fd +___bt_free +___bt_get +___bt_new +___bt_open +___bt_pgin +___bt_pgout +___bt_put +___bt_ret +___bt_search +___bt_seq +___bt_setcur +___bt_split +___bt_sync +___buf_free +___bzero +___cVersionNumber +___cVersionString +___call_hash +___chmod_extended +___cleanup +___cmp_D2A +___collate_equiv_match +___collate_load_error +___collate_lookup +___commpage_gettimeofday +___copybits_D2A +___cxa_atexit +___cxa_finalize +___cxa_thread_atexit +___d2b_D2A +___dbpanic +___decrement_D2A +___default_hash +___default_utx +___delpair +___diff_D2A +___dtoa +___error +___exit +___expand_table +___fchmod_extended +___fcntl +___fcntl_nocancel +___fflush +___fgetwc +___find_bigpair +___find_last_page +___fix_locale_grouping_str +___fork +___fpclassifyd +___fpclassifyl +___fread +___free_ovflpage +___freedtoa +___fstat64_extended +___fstat_extended +___gdtoa +___gdtoa_locks +___get_buf +___get_page +___getdirentries64 +___gethex_D2A +___getlogin +___getonlyClocaleconv +___gettimeofday +___hash_open +___hdtoa +___hexdig_D2A +___hexdig_init_D2A +___hexnan_D2A +___hi0bits_D2A +___hldtoa +___i2b_D2A +___ibitmap +___increment_D2A +___isctype +___istype +___istype_l +___kill +___ldtoa +___libc_init +___lo0bits_D2A +___log2 +___lshift_D2A +___lstat64_extended +___lstat_extended +___maskrune +___maskrune_l +___match_D2A +___mb_cur_max +___mb_sb_limit +___memccpy_chk +___memcpy_chk +___memmove_chk +___memset_chk +___mkdir_extended +___mkfifo_extended +___mult_D2A +___multadd_D2A +___nrv_alloc_D2A +___open +___open_extended +___open_nocancel +___opendir2 +___opendir2$INODE64 +___ovfl_delete +___ovfl_get +___ovfl_put +___pow5mult_D2A +___pthread_sigmask +___pthread_workqueue_setkill +___put_page +___quorem_D2A +___ratio_D2A +___rec_close +___rec_delete +___rec_dleaf +___rec_fd +___rec_fmap +___rec_fpipe +___rec_get +___rec_iput +___rec_open +___rec_put +___rec_ret +___rec_search +___rec_seq +___rec_sync +___rec_vmap +___rec_vpipe +___reclaim_buf +___recvfrom +___recvfrom_nocancel +___rshift_D2A +___rv_alloc_D2A +___s2b_D2A +___sF +___sclose +___sdidinit +___semwait_signal +___semwait_signal_nocancel +___sendto +___sendto_nocancel +___set_ones_D2A +___setlogin +___setonlyClocaleconv +___settimeofday +___sflags +___sflush +___sfp +___sfvwrite +___sglue +___sigaction +___sigaltstack +___sinit +___slbexpand +___smakebuf +___snprintf_chk +___split_page +___sprintf_chk +___sread +___srefill +___srget +___sseek +___stack_chk_fail +___stack_chk_guard +___stat64_extended +___stat_extended +___stderrp +___stdinp +___stdoutp +___stpcpy_chk +___stpncpy_chk +___strcat_chk +___strcp_D2A +___strcpy_chk +___strlcat_chk +___strlcpy_chk +___strncat_chk +___strncpy_chk +___strtodg +___strtopdd +___strtopx +___sum_D2A +___svfscanf +___swbuf +___swhatbuf +___swrite +___swsetup +___sysctl +___tens_D2A +___tinytens_D2A +___tolower +___tolower_l +___toupper +___toupper_l +___trailz_D2A +___ulp_D2A +___umask_extended +___ungetc +___ungetwc +___unix_conforming +___vsnprintf_chk +___vsprintf_chk +___wait4 +___wait4_nocancel +___wcwidth +___wcwidth_l +__allocenvstate +__c_locale +__cleanup +__closeutx +__copyenv +__cthread_init_routine +__deallocenvstate +__dyld_register_func_for_add_image +__endutxent +__exit +__flockfile_debug_stub +__fseeko +__ftello +__fwalk +__get_cpu_capabilities +__getenvp +__getutxent +__getutxid +__getutxline +__inet_aton_check +__init_clock_port +__int_to_time +__libc_fork_child +__long_to_time +__mkpath_np +__mktemp +__openutx +__os_alloc_once +__os_alloc_once_table +__os_assert_log +__os_assert_log_ctx +__os_assumes_log +__os_assumes_log_ctx +__os_avoid_tail_call +__osx_assert_log +__osx_assert_log_ctx +__osx_assumes_log +__osx_assumes_log_ctx +__osx_avoid_tail_call +__platform_bzero +__platform_memccpy +__platform_memchr +__platform_memcmp +__platform_memmove +__platform_memset +__platform_memset_pattern16 +__platform_memset_pattern4 +__platform_memset_pattern8 +__platform_strchr +__platform_strcmp +__platform_strncmp +__putenvp +__pututxline +__rand48_add +__rand48_mult +__rand48_seed +__readdir_unlocked +__readdir_unlocked$INODE64 +__reclaim_telldir +__seekdir +__seekdir$INODE64 +__setenvp +__setutxent +__sigaction_nobind +__sigintr +__signal_nobind +__sigtramp +__sigvec_nobind +__simple_asl_log +__simple_asl_log_prog +__simple_asl_msg_new +__simple_asl_msg_set +__simple_asl_send +__simple_dprintf +__simple_salloc +__simple_sappend +__simple_sfree +__simple_sprintf +__simple_string +__simple_vsprintf +__sread +__sseek +__swrite +__time32_to_time +__time64_to_time +__time_to_int +__time_to_long +__time_to_time32 +__time_to_time64 +__tlv_atexit +__tlv_exit +__unsetenvp +__utmpxname +_a64l +_abort +_abs +_access +_acl_add_flag_np +_acl_add_perm +_acl_calc_mask +_acl_clear_flags_np +_acl_clear_perms +_acl_copy_entry +_acl_copy_ext +_acl_copy_ext_native +_acl_copy_int +_acl_copy_int_native +_acl_create_entry +_acl_create_entry_np +_acl_delete_def_file +_acl_delete_entry +_acl_delete_fd_np +_acl_delete_file_np +_acl_delete_flag_np +_acl_delete_link_np +_acl_delete_perm +_acl_dup +_acl_free +_acl_from_text +_acl_get_entry +_acl_get_fd +_acl_get_fd_np +_acl_get_file +_acl_get_flag_np +_acl_get_flagset_np +_acl_get_link_np +_acl_get_perm_np +_acl_get_permset +_acl_get_permset_mask_np +_acl_get_qualifier +_acl_get_tag_type +_acl_init +_acl_maximal_permset_mask_np +_acl_set_fd +_acl_set_fd_np +_acl_set_file +_acl_set_flagset_np +_acl_set_link_np +_acl_set_permset +_acl_set_permset_mask_np +_acl_set_qualifier +_acl_set_tag_type +_acl_size +_acl_to_text +_acl_valid +_acl_valid_fd_np +_acl_valid_file_np +_acl_valid_link +_addr2ascii +_alarm +_alphasort +_alphasort$INODE64 +_arc4random +_arc4random_addrandom +_arc4random_buf +_arc4random_stir +_arc4random_uniform +_ascii2addr +_asctime +_asctime_r +_asl_get +_asl_new +_asl_open +_asl_send +_asl_set +_asl_set_query +_asprintf +_asprintf_l +_asxprintf +_asxprintf_exec +_atexit +_atexit_b +_atof +_atof_l +_atoi +_atoi_l +_atol +_atol_l +_atoll +_atoll_l +_backtrace +_backtrace_symbols +_backtrace_symbols_fd +_basename +_bcmp +_bcopy +_bootstrap_parent +_bootstrap_port +_brk +_bsd_signal +_bsearch +_bsearch_b +_btowc +_btowc_l +_bzero +_calloc +_catclose +_catgets +_catopen +_cfgetispeed +_cfgetospeed +_cfmakeraw +_cfsetispeed +_cfsetospeed +_cfsetspeed +_cgetcap +_cgetclose +_cgetent +_cgetfirst +_cgetmatch +_cgetnext +_cgetnum +_cgetset +_cgetstr +_cgetustr +_chdir +_chflags +_chmod +_chmodx_np +_clearerr +_clearerr_unlocked +_clock +_clock_get_time +_clock_port +_clock_sem +_close$NOCANCEL +_closedir +_compat_mode +_confstr +_copy_printf_domain +_creat +_creat$NOCANCEL +_crypt +_ctermid +_ctermid_r +_ctime +_ctime_r +_daemon +_daemon$1050 +_daylight +_dbm_clearerr +_dbm_close +_dbm_delete +_dbm_dirfno +_dbm_error +_dbm_fetch +_dbm_firstkey +_dbm_nextkey +_dbm_open +_dbm_store +_dbopen +_devname +_devname_r +_difftime +_digittoint +_digittoint_l +_dirfd +_dirname +_dispatch_get_global_queue +_div +_dladdr +_dlsym +_dprintf +_dprintf_l +_drand48 +_dup2 +_duplocale +_dxprintf +_dxprintf_exec +_dyld_get_program_sdk_version +_dyld_get_sdk_version +_ecvt +_encrypt +_endttyent +_endusershell +_endutxent +_endutxent_wtmp +_erand48 +_err +_err_set_exit +_err_set_exit_b +_err_set_file +_errc +_errx +_execl +_execle +_execlp +_execv +_execvP +_execve +_execvp +_exit +_f_prealloc +_fchdir +_fchmodx_np +_fclose +_fcntl$NOCANCEL +_fcvt +_fdopen +_fdopen$DARWIN_EXTSN +_fegetenv +_feof +_feof_unlocked +_ferror +_ferror_unlocked +_fesetenv +_fflagstostr +_fflush +_ffsctl +_fgetc +_fgetln +_fgetpos +_fgetrune +_fgets +_fgetwc +_fgetwc_l +_fgetwln +_fgetwln_l +_fgetws +_fgetws_l +_fileno +_fileno_unlocked +_filesec_dup +_filesec_free +_filesec_get_property +_filesec_init +_filesec_query_property +_filesec_set_property +_filesec_unset_property +_flockfile +_flsl +_fmtcheck +_fmtmsg +_fnmatch +_fopen +_fopen$DARWIN_EXTSN +_fork +_forkpty +_fparseln +_fprintf +_fprintf_l +_fpurge +_fputc +_fputrune +_fputs +_fputwc +_fputwc_l +_fputws +_fputws_l +_fread +_free +_free_printf_comp +_free_printf_domain +_freeifaddrs +_freelocale +_freopen +_fscanf +_fscanf_l +_fsctl +_fseek +_fseeko +_fsetpos +_fstat +_fstat$INODE64 +_fstatfs +_fstatfs$INODE64 +_fstatvfs +_fstatx64_np +_fstatx_np +_fstatx_np$INODE64 +_fsync$NOCANCEL +_fsync_volume_np +_ftell +_ftello +_ftime +_ftok +_ftruncate +_ftrylockfile +_fts_children +_fts_children$INODE64 +_fts_close +_fts_close$INODE64 +_fts_open +_fts_open$INODE64 +_fts_open_b +_fts_open_b$INODE64 +_fts_read +_fts_read$INODE64 +_fts_set +_fts_set$INODE64 +_ftw +_ftw$INODE64 +_fungetrune +_funlockfile +_funopen +_fwide +_fwprintf +_fwprintf_l +_fwrite +_fwscanf +_fwscanf_l +_fxprintf +_fxprintf_exec +_gcvt +_getattrlist +_getbsize +_getc +_getc_unlocked +_getchar +_getchar_unlocked +_getcwd +_getdate +_getdate_err +_getdelim +_getdirentries +_getdiskbyname +_getdtablesize +_getenv +_geteuid +_getfsstat +_getfsstat$INODE64 +_getfsstat64 +_getgrgid +_getgrnam +_getgroupcount +_getgrouplist +_getgroups$DARWIN_EXTSN +_gethostid +_gethostname +_getifaddrs +_getipv4sourcefilter +_getlastlogx +_getlastlogxbyname +_getline +_getloadavg +_getlogin +_getlogin_r +_getmntinfo +_getmntinfo$INODE64 +_getmntinfo64 +_getmode +_getopt +_getopt_long +_getopt_long_only +_getpagesize +_getpass +_getpeereid +_getpgrp +_getpid +_getpriority +_getprogname +_getpwnam +_getpwuid +_getpwuid_r +_getrlimit +_getrusage +_gets +_getsectiondata +_getsockopt +_getsourcefilter +_getsubopt +_gettimeofday +_getttyent +_getttynam +_getuid +_getusershell +_getutmp +_getutmpx +_getutxent +_getutxent_wtmp +_getutxid +_getutxline +_getvfsbyname +_getw +_getwc +_getwc_l +_getwchar +_getwchar_l +_getwd +_glob +_glob$INODE64 +_glob_b +_glob_b$INODE64 +_globfree +_gmtime +_gmtime_r +_grantpt +_hash_create +_hash_destroy +_hash_purge +_hash_search +_hash_stats +_hash_traverse +_hcreate +_hdestroy +_heapsort +_heapsort_b +_host_get_clock_service +_hsearch +_if_nametoindex +_imaxabs +_imaxdiv +_index +_inet_addr +_inet_aton +_inet_lnaof +_inet_makeaddr +_inet_net_ntop +_inet_net_pton +_inet_neta +_inet_netof +_inet_network +_inet_nsap_addr +_inet_nsap_ntoa +_inet_ntoa +_inet_ntop +_inet_ntop4 +_inet_ntop6 +_inet_pton +_initstate +_insque +_ioctl +_isalnum +_isalnum_l +_isalpha +_isalpha_l +_isascii +_isatty +_isblank +_isblank_l +_iscntrl +_iscntrl_l +_isdigit +_isdigit_l +_isgraph +_isgraph_l +_ishexnumber +_ishexnumber_l +_isideogram +_isideogram_l +_islower +_islower_l +_isnumber +_isnumber_l +_isphonogram +_isphonogram_l +_isprint +_isprint_l +_ispunct +_ispunct_l +_isrune +_isrune_l +_issetugid +_isspace +_isspace_l +_isspecial +_isspecial_l +_isupper +_isupper_l +_iswalnum +_iswalnum_l +_iswalpha +_iswalpha_l +_iswascii +_iswblank +_iswblank_l +_iswcntrl +_iswcntrl_l +_iswctype +_iswctype_l +_iswdigit +_iswdigit_l +_iswgraph +_iswgraph_l +_iswhexnumber +_iswhexnumber_l +_iswideogram +_iswideogram_l +_iswlower +_iswlower_l +_iswnumber +_iswnumber_l +_iswphonogram +_iswphonogram_l +_iswprint +_iswprint_l +_iswpunct +_iswpunct_l +_iswrune +_iswrune_l +_iswspace +_iswspace_l +_iswspecial +_iswspecial_l +_iswupper +_iswupper_l +_iswxdigit +_iswxdigit_l +_isxdigit +_isxdigit_l +_jrand48 +_kill +_killpg +_l64a +_labs +_lchflags +_lchmod +_lcong48 +_ldiv +_lfind +_link_addr +_link_ntoa +_llabs +_lldiv +_localeconv +_localeconv_l +_localtime +_localtime_r +_lockf +_lockf$NOCANCEL +_login +_login_tty +_logout +_logwtmp +_lrand48 +_lsearch +_lseek +_lstat +_lstat$INODE64 +_lstatx64_np +_lstatx_np +_lstatx_np$INODE64 +_lutimes +_mach_absolute_time +_mach_error_string +_mach_host_self +_mach_port_deallocate +_mach_task_self_ +_mach_timebase_info +_malloc +_mblen +_mblen_l +_mbmb +_mbr_gid_to_uuid +_mbr_uid_to_uuid +_mbr_uuid_to_id +_mbrlen +_mbrlen_l +_mbrrune +_mbrtowc +_mbrtowc_l +_mbrune +_mbsinit +_mbsinit_l +_mbsnrtowcs +_mbsnrtowcs_l +_mbsrtowcs +_mbsrtowcs_l +_mbstowcs +_mbstowcs_l +_mbtowc +_mbtowc_l +_memccpy +_memchr +_memcmp +_memcpy +_memmem +_memmove +_memset +_memset_pattern16 +_memset_pattern4 +_memset_pattern8 +_memset_s +_mergesort +_mergesort_b +_mkdir +_mkdirx_np +_mkdtemp +_mkfifox_np +_mkpath_np +_mkstemp +_mkstemps +_mktemp +_mktime +_mmap +_monaddition +_moncontrol +_moncount +_moninit +_monitor +_monoutput +_monreset +_monstartup +_mpool_close +_mpool_filter +_mpool_get +_mpool_new +_mpool_open +_mpool_put +_mpool_sync +_mrand48 +_munmap +_nan +_nanf +_nanl +_nanosleep +_nanosleep$NOCANCEL +_new_printf_comp +_new_printf_domain +_newlocale +_nextwctype +_nextwctype_l +_nftw +_nftw$INODE64 +_nice +_nl_langinfo +_nl_langinfo_l +_notify_cancel +_notify_check +_notify_monitor_file +_notify_post +_notify_register_check +_nrand48 +_off32 +_off64 +_offtime +_open$NOCANCEL +_opendev +_opendir +_opendir$INODE64 +_openpty +_openx_np +_optarg +_opterr +_optind +_optopt +_optreset +_pathconf +_pause +_pause$NOCANCEL +_pclose +_perror +_pipe +_popen +_popen$DARWIN_EXTSN +_posix2time +_posix_openpt +_posix_spawn +_posix_spawn_file_actions_addclose +_posix_spawn_file_actions_adddup2 +_posix_spawn_file_actions_destroy +_posix_spawn_file_actions_init +_posix_spawnattr_destroy +_posix_spawnattr_init +_posix_spawnattr_setflags +_posix_spawnattr_setsigdefault +_posix_spawnattr_setsigmask +_posix_spawnp +_pread$NOCANCEL +_printf +_printf_l +_proc_name +_pselect +_pselect$1050 +_pselect$DARWIN_EXTSN +_pselect$DARWIN_EXTSN$NOCANCEL +_pselect$NOCANCEL +_psignal +_psort +_psort_b +_psort_r +_pthread_get_stackaddr_np +_pthread_get_stacksize_np +_pthread_getspecific +_pthread_key_create +_pthread_key_init_np +_pthread_kill +_pthread_mutex_destroy +_pthread_mutex_init +_pthread_mutex_lock +_pthread_mutex_trylock +_pthread_mutex_unlock +_pthread_once +_pthread_rwlock_destroy +_pthread_rwlock_rdlock +_pthread_rwlock_unlock +_pthread_rwlock_wrlock +_pthread_self +_pthread_setspecific +_pthread_sigmask +_pthread_testcancel +_ptsname +_putc +_putc_unlocked +_putchar +_putchar_unlocked +_putenv +_puts +_pututxline +_putw +_putwc +_putwc_l +_putwchar +_putwchar_l +_pwrite$NOCANCEL +_qsort +_qsort_b +_qsort_r +_querylocale +_radixsort +_raise +_rand +_rand_r +_random +_rb_tree_count +_rb_tree_find_node +_rb_tree_find_node_geq +_rb_tree_find_node_leq +_rb_tree_init +_rb_tree_insert_node +_rb_tree_iterate +_rb_tree_remove_node +_read$NOCANCEL +_readdir +_readdir$INODE64 +_readdir_r +_readdir_r$INODE64 +_readlink +_readpassphrase +_realloc +_reallocf +_realpath +_realpath$DARWIN_EXTSN +_recv +_recv$NOCANCEL +_regcomp +_regcomp_l +_regerror +_regexec +_regfree +_register_printf_domain_function +_register_printf_domain_render_std +_regncomp +_regncomp_l +_regnexec +_regwcomp +_regwcomp_l +_regwexec +_regwncomp +_regwncomp_l +_regwnexec +_remove +_remque +_rewind +_rewinddir +_rewinddir$INODE64 +_rindex +_rmdir +_sbrk +_scandir +_scandir$INODE64 +_scandir_b +_scandir_b$INODE64 +_scanf +_scanf_l +_seed48 +_seekdir +_seekdir$INODE64 +_select +_select$1050 +_select$DARWIN_EXTSN +_select$DARWIN_EXTSN$NOCANCEL +_select$NOCANCEL +_semaphore_create +_send +_send$NOCANCEL +_setattrlist +_setbuf +_setbuffer +_setenv +_sethostid +_sethostname +_setinvalidrune +_setipv4sourcefilter +_setitimer +_setkey +_setlinebuf +_setlocale +_setlogin +_setmode +_setpgid +_setpgrp +_setpriority +_setprogname +_setregid +_setreuid +_setrgid +_setrlimit +_setruid +_setrunelocale +_setsid +_setsockopt +_setsourcefilter +_setstate +_settimeofday +_setttyent +_setusershell +_setutxent +_setutxent_wtmp +_setvbuf +_sigaction +_sigaddset +_sigaltstack +_sigblock +_sigdelset +_sigemptyset +_sigfillset +_sighold +_sigignore +_siginterrupt +_sigismember +_signal +_sigpause +_sigpause$NOCANCEL +_sigprocmask +_sigrelse +_sigset +_sigsetmask +_sigsuspend +_sigsuspend$NOCANCEL +_sigvec +_skip +_sl_add +_sl_find +_sl_free +_sl_init +_sleep +_sleep$NOCANCEL +_snprintf +_snprintf_l +_sockatmark +_socket +_socketpair +_spin_lock +_spin_unlock +_sprintf +_sprintf_l +_sradixsort +_srand +_srand48 +_sranddev +_srandom +_srandomdev +_sscanf +_sscanf_l +_stat +_stat$INODE64 +_statfs$INODE64 +_statvfs +_statx64_np +_statx_np +_statx_np$INODE64 +_stpcpy +_stpncpy +_strcasecmp +_strcasecmp_l +_strcasestr +_strcasestr_l +_strcat +_strchr +_strcmp +_strcoll +_strcoll_l +_strcpy +_strcspn +_strdup +_strerror +_strerror_r +_strfmon +_strfmon_l +_strftime +_strftime_l +_strlcat +_strlcpy +_strlen +_strmode +_strncasecmp +_strncasecmp_l +_strncat +_strncmp +_strncpy +_strndup +_strnlen +_strnstr +_strpbrk +_strptime +_strptime_l +_strrchr +_strsep +_strsignal +_strspn +_strstr +_strtod +_strtod_l +_strtof +_strtof_l +_strtofflags +_strtoimax +_strtoimax_l +_strtok +_strtok_r +_strtol +_strtol_l +_strtold +_strtold_l +_strtoll +_strtoll_l +_strtoq +_strtoq_l +_strtoul +_strtoul_l +_strtoull +_strtoull_l +_strtoumax +_strtoumax_l +_strtouq +_strtouq_l +_strunvis +_strunvisx +_strvis +_strvisx +_strxfrm +_strxfrm_l +_suboptarg +_swab +_swprintf +_swprintf_l +_swscanf +_swscanf_l +_sxprintf +_sxprintf_exec +_sync_volume_np +_sys_errlist +_sys_nerr +_sys_siglist +_sys_signame +_sysconf +_sysctl +_sysctlbyname +_sysctlnametomib +_syslog +_system +_system$NOCANCEL +_task_set_special_port +_tcdrain +_tcdrain$NOCANCEL +_tcflow +_tcflush +_tcgetattr +_tcgetpgrp +_tcgetsid +_tcsendbreak +_tcsetattr +_tcsetpgrp +_tdelete +_telldir +_telldir$INODE64 +_tempnam +_tfind +_thread_stack_pcs +_time +_time2posix +_timegm +_timelocal +_timeoff +_times +_timezone +_tmpfile +_tmpnam +_toascii +_tolower +_tolower_l +_toupper +_toupper_l +_towctrans +_towctrans_l +_towlower +_towlower_l +_towupper +_towupper_l +_tsearch +_ttyname +_ttyname_r +_ttyslot +_twalk +_tzname +_tzset +_tzsetwall +_ualarm +_ulimit +_umask +_umaskx_np +_uname +_ungetc +_ungetwc +_ungetwc_l +_unlink +_unlockpt +_unsetenv +_unvis +_uselocale +_usleep +_usleep$NOCANCEL +_utime +_utimes +_utmpxname +_uuid_clear +_uuid_compare +_uuid_copy +_uuid_generate +_uuid_generate_random +_uuid_generate_time +_uuid_is_null +_uuid_pack +_uuid_parse +_uuid_unpack +_uuid_unparse +_uuid_unparse_lower +_uuid_unparse_upper +_vasprintf +_vasprintf_l +_vasxprintf +_vasxprintf_exec +_vdprintf +_vdprintf_l +_vdxprintf +_vdxprintf_exec +_verr +_verrc +_verrx +_vfprintf +_vfprintf_l +_vfscanf +_vfscanf_l +_vfwprintf +_vfwprintf_l +_vfwscanf +_vfwscanf_l +_vfxprintf +_vfxprintf_exec +_vis +_vm_allocate +_vprintf +_vprintf_l +_vscanf +_vscanf_l +_vsnprintf +_vsnprintf_l +_vsprintf +_vsprintf_l +_vsscanf +_vsscanf_l +_vswprintf +_vswprintf_l +_vswscanf +_vswscanf_l +_vsxprintf +_vsxprintf_exec +_vwarn +_vwarnc +_vwarnx +_vwprintf +_vwprintf_l +_vwscanf +_vwscanf_l +_vxprintf +_vxprintf_exec +_wait +_wait$NOCANCEL +_wait3 +_wait4 +_waitpid +_waitpid$NOCANCEL +_warn +_warnc +_warnx +_wcpcpy +_wcpncpy +_wcrtomb +_wcrtomb_l +_wcscasecmp +_wcscasecmp_l +_wcscat +_wcschr +_wcscmp +_wcscoll +_wcscoll_l +_wcscpy +_wcscspn +_wcsdup +_wcsftime +_wcsftime_l +_wcslcat +_wcslcpy +_wcslen +_wcsncasecmp +_wcsncasecmp_l +_wcsncat +_wcsncmp +_wcsncpy +_wcsnlen +_wcsnrtombs +_wcsnrtombs_l +_wcspbrk +_wcsrchr +_wcsrtombs +_wcsrtombs_l +_wcsspn +_wcsstr +_wcstod +_wcstod_l +_wcstof +_wcstof_l +_wcstoimax +_wcstoimax_l +_wcstok +_wcstol +_wcstol_l +_wcstold +_wcstold_l +_wcstoll +_wcstoll_l +_wcstombs +_wcstombs_l +_wcstoul +_wcstoul_l +_wcstoull +_wcstoull_l +_wcstoumax +_wcstoumax_l +_wcswidth +_wcswidth_l +_wcsxfrm +_wcsxfrm_l +_wctob +_wctob_l +_wctomb +_wctomb_l +_wctrans +_wctrans_l +_wctype +_wctype_l +_wcwidth +_wcwidth_l +_wmemchr +_wmemcmp +_wmemcpy +_wmemmove +_wmemset +_wordexp +_wordfree +_wprintf +_wprintf_l +_write$NOCANCEL +_writev$NOCANCEL +_wscanf +_wscanf_l +_wtmpxname +_xprintf +_xprintf_exec +dyld_stub_binder +mcount diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols new file mode 100644 index 00000000000..9d53dea7025 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols @@ -0,0 +1,929 @@ +_NDR_record +_____old_semwait_signal_nocancel +_____sigwait_nocancel +____kernelVersionNumber +____kernelVersionString +___accept +___accept_nocancel +___access_extended +___aio_suspend_nocancel +___bind +___bsdthread_create +___bsdthread_register +___bsdthread_terminate +___carbon_delete +___chmod +___chmod_extended +___chud +___close_nocancel +___commpage_gettimeofday +___connect +___connect_nocancel +___copyfile +___delete +___disable_threadsignal +___error +___exit +___fchmod +___fchmod_extended +___fcntl +___fcntl_nocancel +___fork +___fsgetpath +___fstat64_extended +___fstat_extended +___fsync_nocancel +___get_remove_counter +___getattrlist +___getdirentries64 +___gethostuuid +___getlcid +___getlogin +___getpeername +___getpid +___getrlimit +___getsgroups +___getsockname +___gettid +___gettimeofday +___getwgroups +___guarded_open_np +___identitysvc +___inc_remove_counter +___initgroups +___ioctl +___iopolicysys +___kdebug_trace +___kernelVersionNumber +___kernelVersionString +___kill +___lchown +___libkernel_init +___listen +___lseek +___lstat64_extended +___lstat_extended +___mac_execve +___mac_get_fd +___mac_get_file +___mac_get_lcid +___mac_get_lctx +___mac_get_link +___mac_get_mount +___mac_get_pid +___mac_get_proc +___mac_getfsstat +___mac_mount +___mac_set_fd +___mac_set_file +___mac_set_lctx +___mac_set_link +___mac_set_proc +___mac_syscall +___mkdir_extended +___mkfifo_extended +___mmap +___mprotect +___msgctl +___msgrcv_nocancel +___msgsnd_nocancel +___msgsys +___msync +___msync_nocancel +___munmap +___old_semwait_signal +___open +___open_dprotected_np +___open_extended +___open_nocancel +___pipe +___poll_nocancel +___posix_spawn +___pread_nocancel +___proc_info +___process_policy +___psynch_cvbroad +___psynch_cvclrprepost +___psynch_cvsignal +___psynch_cvwait +___psynch_mutexdrop +___psynch_mutexwait +___psynch_rw_downgrade +___psynch_rw_longrdlock +___psynch_rw_rdlock +___psynch_rw_unlock +___psynch_rw_unlock2 +___psynch_rw_upgrade +___psynch_rw_wrlock +___psynch_rw_yieldwrlock +___pthread_canceled +___pthread_chdir +___pthread_fchdir +___pthread_kill +___pthread_markcancel +___pthread_sigmask +___ptrace +___pwrite_nocancel +___read_nocancel +___readv_nocancel +___recvfrom +___recvfrom_nocancel +___recvmsg +___recvmsg_nocancel +___rename +___rmdir +___sandbox_me +___sandbox_mm +___sandbox_ms +___sandbox_msp +___select +___select_nocancel +___sem_open +___sem_wait_nocancel +___semctl +___semsys +___semwait_signal +___semwait_signal_nocancel +___sendmsg +___sendmsg_nocancel +___sendto +___sendto_nocancel +___setattrlist +___setlcid +___setlogin +___setregid +___setreuid +___setrlimit +___setsgroups +___settid +___settid_with_pid +___settimeofday +___setwgroups +___shared_region_check_np +___shared_region_map_and_slide_np +___shm_open +___shmctl +___shmsys +___sigaction +___sigaltstack +___sigreturn +___sigsuspend +___sigsuspend_nocancel +___sigwait +___socketpair +___stack_snapshot +___stat64_extended +___stat_extended +___syscall +___syscall_logger +___sysctl +___telemetry +___thread_selfid +___umask_extended +___unlink +___vfork +___wait4 +___wait4_nocancel +___waitid_nocancel +___workq_kernreturn +___workq_open +___write_nocancel +___writev_nocancel +__cpu_capabilities +__cpu_has_altivec +__exit +__get_cpu_capabilities +__getprivatesystemidentifier +__host_page_size +__init_cpu_capabilities +__kernelrpc_mach_port_allocate +__kernelrpc_mach_port_allocate_full +__kernelrpc_mach_port_allocate_name +__kernelrpc_mach_port_allocate_qos +__kernelrpc_mach_port_allocate_trap +__kernelrpc_mach_port_construct +__kernelrpc_mach_port_construct_trap +__kernelrpc_mach_port_deallocate +__kernelrpc_mach_port_deallocate_trap +__kernelrpc_mach_port_destroy +__kernelrpc_mach_port_destroy_trap +__kernelrpc_mach_port_destruct +__kernelrpc_mach_port_destruct_trap +__kernelrpc_mach_port_dnrequest_info +__kernelrpc_mach_port_extract_member +__kernelrpc_mach_port_extract_member_trap +__kernelrpc_mach_port_extract_right +__kernelrpc_mach_port_get_attributes +__kernelrpc_mach_port_get_context +__kernelrpc_mach_port_get_refs +__kernelrpc_mach_port_get_set_status +__kernelrpc_mach_port_get_srights +__kernelrpc_mach_port_guard +__kernelrpc_mach_port_guard_trap +__kernelrpc_mach_port_insert_member +__kernelrpc_mach_port_insert_member_trap +__kernelrpc_mach_port_insert_right +__kernelrpc_mach_port_insert_right_trap +__kernelrpc_mach_port_kernel_object +__kernelrpc_mach_port_kobject +__kernelrpc_mach_port_mod_refs +__kernelrpc_mach_port_mod_refs_trap +__kernelrpc_mach_port_move_member +__kernelrpc_mach_port_move_member_trap +__kernelrpc_mach_port_names +__kernelrpc_mach_port_peek +__kernelrpc_mach_port_rename +__kernelrpc_mach_port_request_notification +__kernelrpc_mach_port_set_attributes +__kernelrpc_mach_port_set_context +__kernelrpc_mach_port_set_mscount +__kernelrpc_mach_port_set_seqno +__kernelrpc_mach_port_space_info +__kernelrpc_mach_port_type +__kernelrpc_mach_port_unguard +__kernelrpc_mach_port_unguard_trap +__kernelrpc_mach_vm_allocate +__kernelrpc_mach_vm_allocate_trap +__kernelrpc_mach_vm_deallocate +__kernelrpc_mach_vm_deallocate_trap +__kernelrpc_mach_vm_map +__kernelrpc_mach_vm_map_trap +__kernelrpc_mach_vm_protect +__kernelrpc_mach_vm_protect_trap +__kernelrpc_mach_vm_read +__kernelrpc_mach_vm_remap +__kernelrpc_task_set_port_space +__kernelrpc_vm_map +__kernelrpc_vm_read +__kernelrpc_vm_remap +__mach_errors +__mach_fork_child +__mach_snprintf +__mach_vsnprintf +__os_alloc_once_table +__register_gethostuuid_callback +_accept +_accept$NOCANCEL +_access +_accessx_np +_acct +_act_get_state +_act_set_state +_adjtime +_aio_cancel +_aio_error +_aio_fsync +_aio_read +_aio_return +_aio_suspend +_aio_suspend$NOCANCEL +_aio_write +_audit +_audit_session_join +_audit_session_port +_audit_session_self +_auditctl +_auditon +_bind +_bootstrap_port +_cerror +_cerror_nocancel +_change_fdguard_np +_chdir +_chflags +_chmod +_chown +_chroot +_clock_alarm +_clock_alarm_reply +_clock_get_attributes +_clock_get_time +_clock_set_attributes +_clock_set_time +_clock_sleep +_clock_sleep_trap +_close +_close$NOCANCEL +_connect +_connect$NOCANCEL +_connectx +_csops +_csops_audittoken +_disconnectx +_dup +_dup2 +_errno +_etap_trace_thread +_exc_server +_exc_server_routine +_exception_raise +_exception_raise_state +_exception_raise_state_identity +_exchangedata +_execve +_fchdir +_fchflags +_fchmod +_fchown +_fcntl +_fcntl$NOCANCEL +_fdatasync +_ffsctl +_fgetattrlist +_fgetxattr +_fhopen +_fileport_makefd +_fileport_makeport +_flistxattr +_flock +_fpathconf +_fremovexattr +_fsctl +_fsetattrlist +_fsetxattr +_fstat +_fstat$INODE64 +_fstat64 +_fstatfs +_fstatfs$INODE64 +_fstatfs64 +_fsync +_fsync$NOCANCEL +_ftruncate +_futimes +_get_dp_control_port +_getattrlist +_getaudit +_getaudit_addr +_getauid +_getdirentries +_getdirentriesattr +_getdtablesize +_getegid +_geteuid +_getfh +_getfsstat +_getfsstat$INODE64 +_getfsstat64 +_getgid +_getgroups +_gethostuuid +_getiopolicy_np +_getitimer +_getpeername +_getpgid +_getpgrp +_getpid +_getppid +_getpriority +_getrlimit +_getrusage +_getsgroups_np +_getsid +_getsockname +_getsockopt +_getuid +_getwgroups_np +_getxattr +_guarded_close_np +_guarded_kqueue_np +_guarded_open_np +_host_default_memory_manager +_host_get_UNDServer +_host_get_boot_info +_host_get_clock_control +_host_get_clock_service +_host_get_exception_ports +_host_get_io_master +_host_get_special_port +_host_info +_host_kernel_version +_host_lockgroup_info +_host_page_size +_host_priv_statistics +_host_processor_info +_host_processor_set_priv +_host_processor_sets +_host_processors +_host_reboot +_host_request_notification +_host_security_create_task_token +_host_security_set_task_token +_host_self +_host_self_trap +_host_set_UNDServer +_host_set_exception_ports +_host_set_special_port +_host_statistics +_host_statistics64 +_host_swap_exception_ports +_host_virtual_physical_table_info +_host_zone_info +_i386_get_ldt +_i386_set_ldt +_important_boost_assertion_token +_internal_catch_exc_subsystem +_ioctl +_issetugid +_kas_info +_kevent +_kevent64 +_kext_request +_kill +_kmod_control +_kmod_create +_kmod_destroy +_kmod_get_info +_kqueue +_lchown +_ledger +_link +_lio_listio +_listen +_listxattr +_lock_acquire +_lock_handoff +_lock_handoff_accept +_lock_make_stable +_lock_release +_lock_set_create +_lock_set_destroy +_lock_try +_lseek +_lstat +_lstat$INODE64 +_lstat64 +_mach_absolute_time +_mach_error +_mach_error_full_diag +_mach_error_string +_mach_error_type +_mach_host_self +_mach_init +_mach_make_memory_entry +_mach_make_memory_entry_64 +_mach_memory_object_memory_entry +_mach_memory_object_memory_entry_64 +_mach_msg +_mach_msg_destroy +_mach_msg_overwrite +_mach_msg_overwrite_trap +_mach_msg_receive +_mach_msg_send +_mach_msg_server +_mach_msg_server_importance +_mach_msg_server_once +_mach_msg_trap +_mach_notify_dead_name +_mach_notify_no_senders +_mach_notify_port_deleted +_mach_notify_port_destroyed +_mach_notify_send_once +_mach_port_allocate +_mach_port_allocate_full +_mach_port_allocate_name +_mach_port_allocate_qos +_mach_port_construct +_mach_port_deallocate +_mach_port_destroy +_mach_port_destruct +_mach_port_dnrequest_info +_mach_port_extract_member +_mach_port_extract_right +_mach_port_get_attributes +_mach_port_get_context +_mach_port_get_refs +_mach_port_get_set_status +_mach_port_get_srights +_mach_port_guard +_mach_port_insert_member +_mach_port_insert_right +_mach_port_kernel_object +_mach_port_kobject +_mach_port_mod_refs +_mach_port_move_member +_mach_port_names +_mach_port_peek +_mach_port_rename +_mach_port_request_notification +_mach_port_set_attributes +_mach_port_set_context +_mach_port_set_mscount +_mach_port_set_seqno +_mach_port_space_info +_mach_port_type +_mach_port_unguard +_mach_ports_lookup +_mach_ports_register +_mach_reply_port +_mach_task_self +_mach_task_self_ +_mach_thread_self +_mach_timebase_info +_mach_vm_allocate +_mach_vm_behavior_set +_mach_vm_copy +_mach_vm_deallocate +_mach_vm_inherit +_mach_vm_machine_attribute +_mach_vm_map +_mach_vm_msync +_mach_vm_page_info +_mach_vm_page_query +_mach_vm_protect +_mach_vm_purgable_control +_mach_vm_read +_mach_vm_read_list +_mach_vm_read_overwrite +_mach_vm_region +_mach_vm_region_recurse +_mach_vm_remap +_mach_vm_wire +_mach_vm_write +_mach_wait_until +_mach_zone_force_gc +_mach_zone_info +_macx_backing_store_recovery +_macx_backing_store_suspend +_macx_swapoff +_macx_swapon +_macx_triggers +_madvise +_memorystatus_control +_memorystatus_get_level +_mig_allocate +_mig_dealloc_reply_port +_mig_deallocate +_mig_get_reply_port +_mig_put_reply_port +_mig_reply_setup +_mig_strncpy +_mincore +_minherit +_mk_timer_arm +_mk_timer_cancel +_mk_timer_create +_mk_timer_destroy +_mkdir +_mkfifo +_mknod +_mlock +_mlockall +_mmap +_modwatch +_mount +_mprotect +_msg_receive +_msg_rpc +_msg_send +_msgctl +_msgget +_msgrcv +_msgrcv$NOCANCEL +_msgsnd +_msgsnd$NOCANCEL +_msgsys +_msync +_msync$NOCANCEL +_munlock +_munlockall +_munmap +_netname_check_in +_netname_check_out +_netname_look_up +_netname_version +_nfsclnt +_nfssvc +_non_boost_assertion_token +_normal_boost_assertion_token +_open +_open$NOCANCEL +_open_dprotected_np +_panic +_panic_init +_pathconf +_peeloff +_pid_for_task +_pid_resume +_pid_suspend +_pipe +_poll +_poll$NOCANCEL +_port_obj_init +_port_obj_table +_port_obj_table_size +_posix_madvise +_posix_spawn +_posix_spawn_file_actions_addclose +_posix_spawn_file_actions_adddup2 +_posix_spawn_file_actions_addinherit_np +_posix_spawn_file_actions_addopen +_posix_spawn_file_actions_destroy +_posix_spawn_file_actions_init +_posix_spawnattr_destroy +_posix_spawnattr_getbinpref_np +_posix_spawnattr_getcpumonitor +_posix_spawnattr_getflags +_posix_spawnattr_getmacpolicyinfo_np +_posix_spawnattr_getpcontrol_np +_posix_spawnattr_getpgroup +_posix_spawnattr_getprocesstype_np +_posix_spawnattr_getsigdefault +_posix_spawnattr_getsigmask +_posix_spawnattr_init +_posix_spawnattr_set_importancewatch_port_np +_posix_spawnattr_setauditsessionport_np +_posix_spawnattr_setbinpref_np +_posix_spawnattr_setcpumonitor +_posix_spawnattr_setcpumonitor_default +_posix_spawnattr_setexceptionports_np +_posix_spawnattr_setflags +_posix_spawnattr_setmacpolicyinfo_np +_posix_spawnattr_setpcontrol_np +_posix_spawnattr_setpgroup +_posix_spawnattr_setprocesstype_np +_posix_spawnattr_setsigdefault +_posix_spawnattr_setsigmask +_posix_spawnattr_setspecialport_np +_pread +_pread$NOCANCEL +_proc_clear_delayidlesleep +_proc_clear_vmpressure +_proc_disable_apptype +_proc_disable_cpumon +_proc_disable_wakemon +_proc_donate_importance_boost +_proc_enable_apptype +_proc_get_cpumon_params +_proc_get_dirty +_proc_get_wakemon_params +_proc_importance_assertion_begin_with_msg +_proc_importance_assertion_complete +_proc_kmsgbuf +_proc_libversion +_proc_listallpids +_proc_listchildpids +_proc_listpgrppids +_proc_listpids +_proc_listpidspath +_proc_name +_proc_pid_rusage +_proc_pidfdinfo +_proc_pidfileportinfo +_proc_pidinfo +_proc_pidpath +_proc_regionfilename +_proc_rlimit_control +_proc_set_cpumon_defaults +_proc_set_cpumon_params +_proc_set_delayidlesleep +_proc_set_dirty +_proc_set_owner_vmpressure +_proc_set_wakemon_defaults +_proc_set_wakemon_params +_proc_setpcontrol +_proc_suppress +_proc_terminate +_proc_track_dirty +_proc_uuid_policy +_processor_assign +_processor_control +_processor_exit +_processor_get_assignment +_processor_info +_processor_set_create +_processor_set_default +_processor_set_destroy +_processor_set_info +_processor_set_max_priority +_processor_set_policy_control +_processor_set_policy_disable +_processor_set_policy_enable +_processor_set_stack_usage +_processor_set_statistics +_processor_set_tasks +_processor_set_threads +_processor_start +_pthread_getugid_np +_pthread_setugid_np +_ptrace +_pwrite +_pwrite$NOCANCEL +_quota +_quotactl +_read +_read$NOCANCEL +_readlink +_readv +_readv$NOCANCEL +_reboot +_recvfrom +_recvfrom$NOCANCEL +_recvmsg +_recvmsg$NOCANCEL +_removexattr +_rename +_revoke +_rmdir +_searchfs +_select +_select$1050 +_select$DARWIN_EXTSN +_select$DARWIN_EXTSN$NOCANCEL +_select$NOCANCEL +_sem_close +_sem_destroy +_sem_getvalue +_sem_init +_sem_open +_sem_post +_sem_trywait +_sem_unlink +_sem_wait +_sem_wait$NOCANCEL +_semaphore_create +_semaphore_destroy +_semaphore_signal +_semaphore_signal_all +_semaphore_signal_all_trap +_semaphore_signal_thread +_semaphore_signal_thread_trap +_semaphore_signal_trap +_semaphore_timedwait +_semaphore_timedwait_signal +_semaphore_timedwait_signal_trap +_semaphore_timedwait_trap +_semaphore_wait +_semaphore_wait_signal +_semaphore_wait_signal_trap +_semaphore_wait_trap +_semctl +_semget +_semop +_semsys +_sendfile +_sendmsg +_sendmsg$NOCANCEL +_sendto +_sendto$NOCANCEL +_set_dp_control_port +_setattrlist +_setaudit +_setaudit_addr +_setauid +_setegid +_seteuid +_setgid +_setgroups +_setiopolicy_np +_setitimer +_setpgid +_setpriority +_setprivexec +_setquota +_setregid +_setreuid +_setrlimit +_setsgroups_np +_setsid +_setsockopt +_setuid +_setwgroups_np +_setxattr +_shm_open +_shm_unlink +_shmat +_shmctl +_shmdt +_shmget +_shmsys +_shutdown +_sigpending +_sigprocmask +_sigsuspend +_sigsuspend$NOCANCEL +_socket +_socket_delegate +_socketpair +_stat +_stat$INODE64 +_stat64 +_statfs +_statfs$INODE64 +_statfs64 +_swapon +_swtch +_swtch_pri +_symlink +_sync +_syscall +_syscall_thread_switch +_system_override +_task_assign +_task_assign_default +_task_create +_task_for_pid +_task_get_assignment +_task_get_emulation_vector +_task_get_exception_ports +_task_get_special_port +_task_get_state +_task_info +_task_name_for_pid +_task_policy +_task_policy_get +_task_policy_set +_task_purgable_info +_task_resume +_task_resume2 +_task_sample +_task_self_ +_task_self_trap +_task_set_emulation +_task_set_emulation_vector +_task_set_exception_ports +_task_set_info +_task_set_phys_footprint_limit +_task_set_policy +_task_set_port_space +_task_set_ras_pc +_task_set_special_port +_task_set_state +_task_suspend +_task_suspend2 +_task_swap_exception_ports +_task_terminate +_task_threads +_task_zone_info +_thread_abort +_thread_abort_safely +_thread_assign +_thread_assign_default +_thread_create +_thread_create_running +_thread_depress_abort +_thread_get_assignment +_thread_get_exception_ports +_thread_get_special_port +_thread_get_state +_thread_info +_thread_policy +_thread_policy_get +_thread_policy_set +_thread_resume +_thread_sample +_thread_self_trap +_thread_set_exception_ports +_thread_set_policy +_thread_set_special_port +_thread_set_state +_thread_suspend +_thread_swap_exception_ports +_thread_switch +_thread_terminate +_thread_wire +_truncate +_umask +_undelete +_unlink +_unmount +_utimes +_vfork +_vfs_purge +_vm_allocate +_vm_allocate_cpm +_vm_behavior_set +_vm_copy +_vm_deallocate +_vm_inherit +_vm_kernel_page_mask +_vm_kernel_page_shift +_vm_kernel_page_size +_vm_machine_attribute +_vm_map +_vm_map_page_query +_vm_msync +_vm_page_mask +_vm_page_shift +_vm_page_size +_vm_pressure_monitor +_vm_protect +_vm_purgable_control +_vm_read +_vm_read_list +_vm_read_overwrite +_vm_region_64 +_vm_region_recurse_64 +_vm_remap +_vm_wire +_vm_write +_vprintf_stderr_func +_wait4 +_waitevent +_waitid +_waitid$NOCANCEL +_watchevent +_write +_write$NOCANCEL +_writev +_writev$NOCANCEL diff --git a/pkgs/os-specific/darwin/apple-source-releases/Security/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Security/default.nix new file mode 100644 index 00000000000..f09842630fd --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/Security/default.nix @@ -0,0 +1,116 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + __propagatedImpureHostDeps = [ + "/System/Library/Frameworks/Security.framework/Security" + "/System/Library/Frameworks/Security.framework/Resources" + "/System/Library/Frameworks/Security.framework/PlugIns" + "/System/Library/Frameworks/Security.framework/XPCServices" + "/System/Library/Frameworks/Security.framework/Versions" + ]; + + installPhase = '' + ###### IMPURITIES + mkdir -p $out/Library/Frameworks/Security.framework + pushd $out/Library/Frameworks/Security.framework + ln -s /System/Library/Frameworks/Security.framework/Security + ln -s /System/Library/Frameworks/Security.framework/Resources + ln -s /System/Library/Frameworks/Security.framework/PlugIns + ln -s /System/Library/Frameworks/Security.framework/XPCServices + popd + + ###### HEADERS + + export dest=$out/Library/Frameworks/Security.framework/Headers + mkdir -p $dest + + cp libsecurity_asn1/lib/SecAsn1Coder.h $dest + cp libsecurity_asn1/lib/SecAsn1Templates.h $dest + cp libsecurity_asn1/lib/SecAsn1Types.h $dest + cp libsecurity_asn1/lib/oidsalg.h $dest + cp libsecurity_asn1/lib/oidsattr.h $dest + + cp libsecurity_authorization/lib/AuthSession.h $dest + cp libsecurity_authorization/lib/Authorization.h $dest + cp libsecurity_authorization/lib/AuthorizationDB.h $dest + cp libsecurity_authorization/lib/AuthorizationPlugin.h $dest + cp libsecurity_authorization/lib/AuthorizationTags.h $dest + + cp libsecurity_cms/lib/CMSDecoder.h $dest + cp libsecurity_cms/lib/CMSEncoder.h $dest + + cp libsecurity_codesigning/lib/CSCommon.h $dest + cp libsecurity_codesigning/lib/CodeSigning.h $dest + cp libsecurity_codesigning/lib/SecCode.h $dest + cp libsecurity_codesigning/lib/SecCodeHost.h $dest + cp libsecurity_codesigning/lib/SecRequirement.h $dest + cp libsecurity_codesigning/lib/SecStaticCode.h $dest + cp libsecurity_codesigning/lib/SecTask.h $dest + + cp libsecurity_cssm/lib/certextensions.h $dest + cp libsecurity_cssm/lib/cssm.h $dest + cp libsecurity_cssm/lib/cssmaci.h $dest + cp libsecurity_cssm/lib/cssmapi.h $dest + cp libsecurity_cssm/lib/cssmapple.h $dest + cp libsecurity_cssm/lib/cssmcli.h $dest + cp libsecurity_cssm/lib/cssmconfig.h $dest + cp libsecurity_cssm/lib/cssmcspi.h $dest + cp libsecurity_cssm/lib/cssmdli.h $dest + cp libsecurity_cssm/lib/cssmerr.h $dest + cp libsecurity_cssm/lib/cssmkrapi.h $dest + cp libsecurity_cssm/lib/cssmkrspi.h $dest + cp libsecurity_cssm/lib/cssmspi.h $dest + cp libsecurity_cssm/lib/cssmtpi.h $dest + cp libsecurity_cssm/lib/cssmtype.h $dest + cp libsecurity_cssm/lib/eisl.h $dest + cp libsecurity_cssm/lib/emmspi.h $dest + cp libsecurity_cssm/lib/emmtype.h $dest + cp libsecurity_cssm/lib/oidsbase.h $dest + cp libsecurity_cssm/lib/oidscert.h $dest + cp libsecurity_cssm/lib/oidscrl.h $dest + cp libsecurity_cssm/lib/x509defs.h $dest + + cp libsecurity_keychain/lib/SecACL.h $dest + cp libsecurity_keychain/lib/SecAccess.h $dest + cp libsecurity_keychain/lib/SecBase.h $dest + cp libsecurity_keychain/lib/SecCertificate.h $dest + cp libsecurity_keychain/lib/SecCertificatePriv.h $dest # Private + cp libsecurity_keychain/lib/SecCertificateOIDs.h $dest + cp libsecurity_keychain/lib/SecIdentity.h $dest + cp libsecurity_keychain/lib/SecIdentitySearch.h $dest + cp libsecurity_keychain/lib/SecImportExport.h $dest + cp libsecurity_keychain/lib/SecItem.h $dest + cp libsecurity_keychain/lib/SecKey.h $dest + cp libsecurity_keychain/lib/SecKeychain.h $dest + cp libsecurity_keychain/lib/SecKeychainItem.h $dest + cp libsecurity_keychain/lib/SecKeychainSearch.h $dest + cp libsecurity_keychain/lib/SecPolicy.h $dest + cp libsecurity_keychain/lib/SecPolicySearch.h $dest + cp libsecurity_keychain/lib/SecRandom.h $dest + cp libsecurity_keychain/lib/SecTrust.h $dest + cp libsecurity_keychain/lib/SecTrustSettings.h $dest + cp libsecurity_keychain/lib/SecTrustedApplication.h $dest + cp libsecurity_keychain/lib/Security.h $dest + + cp libsecurity_manifest/lib/SecureDownload.h $dest + + cp libsecurity_mds/lib/mds.h $dest + cp libsecurity_mds/lib/mds_schema.h $dest + + cp libsecurity_ssl/lib/CipherSuite.h $dest + cp libsecurity_ssl/lib/SecureTransport.h $dest + + cp libsecurity_transform/lib/SecCustomTransform.h $dest + cp libsecurity_transform/lib/SecDecodeTransform.h $dest + cp libsecurity_transform/lib/SecDigestTransform.h $dest + cp libsecurity_transform/lib/SecEncodeTransform.h $dest + cp libsecurity_transform/lib/SecEncryptTransform.h $dest + cp libsecurity_transform/lib/SecReadTransform.h $dest + cp libsecurity_transform/lib/SecSignVerifyTransform.h $dest + cp libsecurity_transform/lib/SecTransform.h $dest + cp libsecurity_transform/lib/SecTransformReadTransform.h $dest + + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix new file mode 100644 index 00000000000..db467254f17 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix @@ -0,0 +1,30 @@ +{ stdenv, appleDerivation, version }: + +appleDerivation { + # Will override the name until we provide all of adv_cmds + name = "ps-${version}"; + + buildPhase = '' + cd ps + cc -Os -Wall -I. -c -o fmt.o fmt.c + cc -Os -Wall -I. -c -o keyword.o keyword.c + cc -Os -Wall -I. -c -o nlist.o nlist.c + cc -Os -Wall -I. -c -o print.o print.c + cc -Os -Wall -I. -c -o ps.o ps.c + cc -Os -Wall -I. -c -o tasks.o tasks.c + cc -o ps fmt.o keyword.o nlist.o print.o ps.o tasks.o + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/man/man1 + + cp ps $out/bin/ps + cp ps.1 $out/share/man/man1 + ''; + + + meta = { + platforms = stdenv.lib.platforms.darwin; + maintainers = with stdenv.lib.maintainers; [ gridaphobe ]; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix b/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix new file mode 100644 index 00000000000..edb7869269a --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix @@ -0,0 +1,23 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + postUnpack = '' + substituteInPlace $sourceRoot/Makefile \ + --replace "/usr/include" "/include" \ + --replace "/usr/bin/" "" \ + --replace "/bin/" "" + ''; + + installPhase = '' + export DSTROOT=$out + make install + ''; + + meta = with stdenv.lib; { + maintainers = with maintainers; [ copumpkin ]; + platforms = platforms.darwin; + license = licenses.apsl20; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix new file mode 100644 index 00000000000..8dce3fd3609 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix @@ -0,0 +1,44 @@ +{ stdenv, appleDerivation, yacc, flex }: + +appleDerivation { + buildInputs = [ yacc flex ]; + + buildPhase = '' + cd migcom.tproj + yacc -d parser.y + flex --header-file=lexxer.yy.h -o lexxer.yy.c lexxer.l + + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o error.o error.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o global.o global.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o handler.o header.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o header.o header.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o mig.o mig.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o routine.o routine.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o server.o server.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o statement.o statement.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o string.o string.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o type.o type.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o user.o user.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o utils.o utils.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o lexxer.yy.o lexxer.yy.c + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o y.tab.o y.tab.c + + cc -dead_strip -o migcom error.o global.o header.o mig.o routine.o server.o statement.o string.o type.o user.o utils.o lexxer.yy.o y.tab.o + ''; + + installPhase = '' + mkdir -p $out/bin $out/libexec $out/share/man/man1 + + chmod +x mig.sh + cp mig.sh $out/bin/mig + cp migcom $out/libexec + cp mig.1 $out/share/man/man1 + cp migcom.1 $out/share/man/man1 + + substituteInPlace $out/bin/mig \ + --replace 'arch=`/usr/bin/arch`' 'arch=i386' \ + --replace '/usr/bin/' "" \ + --replace '/bin/rmdir' "rmdir" \ + --replace 'C=''${MIGCC}' "C=cc" + ''; +} \ No newline at end of file diff --git a/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix new file mode 100644 index 00000000000..3427081bfaa --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix @@ -0,0 +1,205 @@ +{ stdenv, appleDerivation, launchd, bootstrap_cmds, xnu, ppp, IOKit, eap8021x, Security }: + +appleDerivation { + buildInputs = [ launchd bootstrap_cmds xnu ppp IOKit eap8021x ]; + + propagatedBuildInputs = [ Security ]; + + patchPhase = '' + substituteInPlace SystemConfiguration.fproj/SCNetworkReachabilityInternal.h \ + --replace '#include ' "" + + substituteInPlace SystemConfiguration.fproj/SCNetworkReachability.c \ + --replace ''$'#define\tHAVE_VPN_STATUS' "" + + substituteInPlace SystemConfiguration.fproj/reachability/SCNetworkReachabilityServer_client.c \ + --replace '#include ' '#include "fake_xpc.h"' \ + --replace '#include ' "" \ + + # Our neutered CoreFoundation doesn't have this function, but I think we'll live... + substituteInPlace SystemConfiguration.fproj/SCNetworkConnectionPrivate.c \ + --replace 'CFPreferencesAppValueIsForced(serviceID, USER_PREFERENCES_APPLICATION_ID)' 'FALSE' \ + --replace 'CFPreferencesAppValueIsForced(userPrivate->serviceID, USER_PREFERENCES_APPLICATION_ID)' 'FALSE' + + cat >SystemConfiguration.fproj/fake_xpc.h </dev/null + + mkdir -p SystemConfiguration.framework/Resources + cp ../get-mobility-info SystemConfiguration.framework/Resources + cp Info.plist SystemConfiguration.framework/Resources + cp -r English.lproj SystemConfiguration.framework/Resources + cp NetworkConfiguration.plist SystemConfiguration.framework/Resources + + mkdir -p SystemConfiguration.framework/Headers + mkdir -p SystemConfiguration.framework/PrivateHeaders + + # The standard public headers + cp SCSchemaDefinitions.h SystemConfiguration.framework/Headers + cp SystemConfiguration.h SystemConfiguration.framework/Headers + cp SCDynamicStore.h SystemConfiguration.framework/Headers + cp SCDynamicStoreCopySpecific.h SystemConfiguration.framework/Headers + cp SCPreferences.h SystemConfiguration.framework/Headers + cp CaptiveNetwork.h SystemConfiguration.framework/Headers + cp SCPreferencesPath.h SystemConfiguration.framework/Headers + cp SCDynamicStoreKey.h SystemConfiguration.framework/Headers + cp SCPreferencesSetSpecific.h SystemConfiguration.framework/Headers + cp SCNetworkConfiguration.h SystemConfiguration.framework/Headers + cp SCNetworkConnection.h SystemConfiguration.framework/Headers + cp SCNetworkReachability.h SystemConfiguration.framework/Headers + cp DHCPClientPreferences.h SystemConfiguration.framework/Headers + cp SCNetwork.h SystemConfiguration.framework/Headers + cp SCDynamicStoreCopyDHCPInfo.h SystemConfiguration.framework/Headers + + # TODO: Do we want to preserve private headers or just make them public? + cp SCDPlugin.h SystemConfiguration.framework/PrivateHeaders + cp SCPrivate.h SystemConfiguration.framework/PrivateHeaders + cp SCDynamicStorePrivate.h SystemConfiguration.framework/PrivateHeaders + cp SCDynamicStoreCopySpecificPrivate.h SystemConfiguration.framework/PrivateHeaders + cp SCDynamicStoreSetSpecificPrivate.h SystemConfiguration.framework/PrivateHeaders + cp SCValidation.h SystemConfiguration.framework/PrivateHeaders + cp SCPreferencesPrivate.h SystemConfiguration.framework/PrivateHeaders + cp DeviceOnHold.h SystemConfiguration.framework/PrivateHeaders + cp LinkConfiguration.h SystemConfiguration.framework/PrivateHeaders + cp SCPreferencesPathKey.h SystemConfiguration.framework/PrivateHeaders + cp SCPreferencesSetSpecificPrivate.h SystemConfiguration.framework/PrivateHeaders + cp SCNetworkConnectionPrivate.h SystemConfiguration.framework/PrivateHeaders + cp SCPreferencesGetSpecificPrivate.h SystemConfiguration.framework/PrivateHeaders + cp SCSchemaDefinitionsPrivate.h SystemConfiguration.framework/PrivateHeaders + cp SCNetworkConfigurationPrivate.h SystemConfiguration.framework/PrivateHeaders + cp SCPreferencesKeychainPrivate.h SystemConfiguration.framework/PrivateHeaders + cp SCNetworkSignature.h SystemConfiguration.framework/PrivateHeaders + cp SCNetworkSignaturePrivate.h SystemConfiguration.framework/PrivateHeaders + cp VPNPrivate.h SystemConfiguration.framework/PrivateHeaders + cp VPNConfiguration.h SystemConfiguration.framework/PrivateHeaders + cp VPNTunnelPrivate.h SystemConfiguration.framework/PrivateHeaders + cp VPNTunnel.h SystemConfiguration.framework/PrivateHeaders + + mkdir derived + + cat >derived/SystemConfiguration_vers.c </dev/null + ''; + + installPhase = '' + mkdir -p $out/include + cp dnsinfo/*.h $out/include/ + + mkdir -p $out/Library/Frameworks/ + mv SystemConfiguration.fproj/SystemConfiguration.framework $out/Library/Frameworks + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix b/pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix new file mode 100644 index 00000000000..c1a2acccaa9 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix @@ -0,0 +1,10 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/include/ + cp copyfile.h $out/include/ + ''; +} \ No newline at end of file diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix new file mode 100644 index 00000000000..afaf602bec5 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -0,0 +1,83 @@ +{ stdenv, fetchurl, pkgs }: + +let + fetchApple = version: sha256: name: fetchurl { + url = "http://www.opensource.apple.com/tarballs/${name}/${name}-${version}.tar.gz"; + inherit sha256; + }; + + applePackage = namePath: version: sha256: + let + name = builtins.elemAt (stdenv.lib.splitString "/" namePath) 0; + + appleDerivation = attrs: stdenv.mkDerivation ({ + inherit version; + name = "${name}-${version}"; + } // (if attrs ? srcs then {} else { + src = fetchApple version sha256 name; + }) // attrs); + callPackage = pkgs.newScope (packages // pkgs.darwin // { inherit appleDerivation name version; }); + in callPackage (./. + builtins.toPath "/${namePath}"); + + IOKitSpecs = { + IOAudioFamily = fetchApple "197.4.2" "1dmrczdmbdkvnhjbv233wx4xczgpf5wjrhr83aizrwpks5avkxbr"; + IOFireWireFamily = fetchApple "455.4.0" "034n2v6z7lf1cx3sp3309z4sn8mkchjcrsf177iag46yzlzcjgfl"; + IOFWDVComponents = fetchApple "207.4.1" "1brr0yn6mxgapw3bvlhyissfksifzj2mqsvj9vmps6zwcsxjfw7m"; + IOFireWireAVC = fetchApple "422.4.0" "1anw8cfmwkavnrs28bzshwa3cwk4r1p3x72561zljx57d0na9164"; + IOFireWireSBP2 = fetchApple "426.4.1" "0asik6qjhf3jjp22awsiyyd6rj02zwnx47l0afbwmxpn5bchfk60"; + IOFireWireSerialBusProtocolTransport = fetchApple "251.0.1" "09kiq907qpk94zbij1mrcfcnyyc5ncvlxavxjrj4v5braxm78lhi"; + IOGraphics = fetchApple "471.92.1" "1c110c9chafy5ilvnc08my9ka530aljggbn66gh3sjsg7lzck9nb"; + IOHIDFamily = fetchApple "503.215.2" "0nx9mzdw848y6ppcfvip3ybczd1fxkr413zhi9qhw7gnpvac5g3n"; + IONetworkingFamily = fetchApple "100" "10r769mqq7aiksdsvyz76xjln0lg7dj4pkg2x067ygyf9md55hlz"; + IOSerialFamily = fetchApple "64.1.1" "1bfkqmg7clwm23byr3iji812j7v1p6565b1ri6p78zviqxnxh7cx"; + IOStorageFamily = fetchApple "172" "0w5yr8ppl82anwph2zba0ppjji6ipf5x410zhcm1drzwn4bbkxrj"; + IOBDStorageFamily = fetchApple "14" "1rbvmh311n853j5qb6hfda94vym9wkws5w736w2r7dwbrjyppc1q"; + IOCDStorageFamily = fetchApple "51" "1905sxwmpxdcnm6yggklc5zimx1558ygm3ycj6b34f9h48xfxzgy"; + IODVDStorageFamily = fetchApple "35" "1fv82rn199mi998l41c0qpnlp3irhqp2rb7v53pxbx7cra4zx3i6"; + # There should be an IOStreamFamily project here, but they haven't released it :( + IOUSBFamily = fetchApple "630.4.5" "1znqb6frxgab9mkyv7csa08c26p9p0ip6hqb4wm9c7j85kf71f4j"; # This is from 10.8 :( + IOUSBFamily_older = fetchApple "560.4.2" "113lmpz8n6sibd27p42h8bl7a6c3myc6zngwri7gnvf8qlajzyml" "IOUSBFamily"; # This is even older :( + IOKitUser = fetchApple "907.100.13" "0kcbrlyxcyirvg5p95hjd9k8a01k161zg0bsfgfhkb90kh2s8x0m"; + # There should be an IOVideo here, but they haven't released it :( + }; + + IOKitSrcs = stdenv.lib.mapAttrs (name: value: if builtins.isFunction value then value name else value) IOKitSpecs; + + packages = { + adv_cmds = applePackage "adv_cmds" "153" "174v6a4zkcm2pafzgdm6kvs48z5f911zl7k49hv7kjq6gm58w99v" {}; + architecture = applePackage "architecture" "265" "05wz8wmxlqssfp29x203fwfb8pgbdjj1mpz12v508658166yzqj8" {}; + bootstrap_cmds = applePackage "bootstrap_cmds" "86" "0xr0296jm1r3q7kbam98h85g23qlfi763z54ahj563n636kyk2wb" {}; + CarbonHeaders = applePackage "CarbonHeaders" "9A581" "1hc0yijlpwq39x5bic6nnywqp2m1wj1f11j33m2q7p505h1h740c" {}; + CF = applePackage "CF" "855.17" "1sadmxi9fsvsmdyxvg2133sdzvkzwil5fvyyidxsyk1iyfzqsvln" {}; + CommonCrypto = applePackage "CommonCrypto" "60049" "1azin6w7cnzl0iv8kd2qzgwcp6a45zy64y5z1i6jysjcl6xmlw2h" {}; + configd = applePackage "configd" "453.19" "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {}; + copyfile = applePackage "copyfile" "103.92.1" "15i2hw5aqx0fklvmq6avin5s00adacvzqc740vviwc2y742vrdcd" {}; + CoreOSMakefiles = applePackage "CoreOSMakefiles" "76" "0sw3w3sjil0kvxz8y86b81sz82rcd1nijayki1a1bsnsf0hz6qbf" {}; + Csu = applePackage "Csu" "79" "1hif4dz23isgx85sgh11yg8amvp2ksvvhz3y5v07zppml7df2lnh" {}; + dtrace = applePackage "dtrace" "118.1" "0pp5x8dgvzmg9vvg32hpy2brm17dpmbwrcr4prsmdmfvd4767wcf" { cctools = pkgs.darwin.cctools_native; }; + dyld = applePackage "dyld" "239.4" "07z7lyv6x0f6gllb5hymccl31zisrdhz4gqp722xcs9nhsqaqvn7" {}; + eap8021x = applePackage "eap8021x" "180" "1ynkq8zmhgqhpkdg2syj085lzya0fz55d3423hvf9kcgpbjcd9ic" {}; + IOKit = applePackage "IOKit" "907.100.13" "0kcbrlyxcyirvg5p95hjd9k8a01k161zg0bsfgfhkb90kh2s8x0m" { inherit IOKitSrcs; }; + launchd = applePackage "launchd" "842.92.1" "0w30hvwqq8j5n90s3qyp0fccxflvrmmjnicjri4i1vd2g196jdgj" {}; + libauto = applePackage "libauto" "185.5" "17z27yq5d7zfkwr49r7f0vn9pxvj95884sd2k6lq6rfaz9gxqhy3" {}; + Libc = applePackage "Libc" "997.90.3" "1jz5bx9l4q484vn28c6n9b28psja3rpxiqbj6zwrwvlndzmq1yz5" {}; + Libc_old = applePackage "Libc/825_40_1.nix" "825.40.1" "0xsx1im52gwlmcrv4lnhhhn9dyk5ci6g27k6yvibn9vj8fzjxwcf" {}; + libclosure = applePackage "libclosure" "63" "083v5xhihkkajj2yvz0dwgbi0jl2qvzk22p7pqq1zp3ry85xagrx" {}; + libdispatch = applePackage "libdispatch" "339.92.1" "1lc5033cmkwxy3r26gh9plimxshxfcbgw6i0j7mgjlnpk86iy5bk" {}; + libiconv = applePackage "libiconv" "41" "10q7yd35flr893nysn9i04njgks4m3gis7jivb9ra9dcb77gqdcn" {}; + Libinfo = applePackage "Libinfo" "449.1.3" "1ix6f7xwjnq9bqgv8w27k4j64bqn1mfhh91nc7ciiv55axpdb9hq" {}; + Libm = applePackage "Libm" "2026" "02sd82ig2jvvyyfschmb4gpz6psnizri8sh6i982v341x6y4ysl7" {}; + Libnotify = applePackage "Libnotify" "121.20.1" "164rx4za5z74s0mk9x0m1815r1m9kfal8dz3bfaw7figyjd6nqad" {}; + libpthread = applePackage "libpthread" "105.1.4" "09vwwahcvmxvx2xl0890gkp91n61dld29j73y2pa597bqkag2qpg" {}; + libresolv = applePackage "libresolv" "54" "028mp2smd744ryxwl8cqz4njv8h540sdw3an1yl7yxqcs04r0p4b" {}; + Libsystem = applePackage "Libsystem" "1197.1.1" "1yfj2qdrf9vrzs7p9m4wlb7zzxcrim1gw43x4lvz4qydpp5kg2rh" { cctools = pkgs.darwin.cctools_native; }; + libunwind = applePackage "libunwind" "35.3" "0miffaa41cv0lzf8az5k1j1ng8jvqvxcr4qrlkf3xyj479arbk1b" {}; + mDNSResponder = applePackage "mDNSResponder" "522.92.1" "1cp87qda1s7brriv413i71yggm8yqfwv64vknrnqv24fcb8hzbmy" {}; + objc4 = applePackage "objc4" "551.1" "1jrdb6yyb5jwwj27c1r0nr2y2ihqjln8ynj61mpkvp144c1cm5bg" {}; + objc4_pure = applePackage "objc4/pure.nix" "551.1" "1jrdb6yyb5jwwj27c1r0nr2y2ihqjln8ynj61mpkvp144c1cm5bg" {}; + ppp = applePackage "ppp" "727.90.1" "166xz1q7al12hm3q3drlp2r6fgdrsq3pmazjp3nsqg3vnglyh4gk" {}; + removefile = applePackage "removefile" "33" "0ycvp7cnv40952a1jyhm258p6gg5xzh30x86z5gb204x80knw30y" {}; + Security = applePackage "Security" "55471.14.18" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {}; + xnu = applePackage "xnu" "2422.115.4" "1ssw5fzvgix20bw6y13c39ib0zs7ykpig3irlwbaccpjpci5jl0s" {}; + }; +in packages diff --git a/pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix b/pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix new file mode 100644 index 00000000000..5fcd04266d5 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix @@ -0,0 +1,50 @@ +{ stdenv, appleDerivation, cctools, zlib }: + +appleDerivation { + buildInputs = [ cctools zlib ]; + + buildPhase = '' + export CFLAGS=" -I$PWD/head -I$PWD/sys -I$PWD/libelf -I$PWD/libdwarf" + + pushd libelf + for f in *.c; do + if [ "$f" != "lintsup.c" ]; then # Apple doesn't use it, so I don't either + cc -D_INT64_TYPE -D_LONGLONG_TYPE -D_ILP32 $CFLAGS -c $f + fi + done + libtool -static -o libelf.a *.o + popd + + pushd libdwarf + ./configure CFLAGS="$CFLAGS -Icmplrs" + make + popd + + cp libelf/libelf.a tools/ctfconvert + cp libdwarf/libdwarf.a tools/ctfconvert + + pushd tools/ctfconvert + for f in ../../darwin_shim.c *.c; do + cc -DNDEBUG -DNS_BLOCK_ASSERTIONS $CFLAGS -c $f + done + + export COMMON="alist.o ctf.o darwin_shim.o hash.o iidesc.o input.o list.o \ + memory.o output.o stack.o strtab.o symbol.o tdata.o traverse.o util.o" + + export CONVERT="ctfconvert.o dwarf.o merge.o st_bugs.o st_parse.o stabs.o" + export MERGE="barrier.o ctfmerge.o dwarf.o fifo.o merge.o st_bugs.o st_parse.o stabs.o utils.o" + export DUMP="dump.o fifo.o utils.o" + + clang -o ctfconvert $CONVERT $COMMON -L. -lz -lelf -ldwarf + clang -o ctfmerge $MERGE $COMMON -L. -lz -lelf -ldwarf + clang -o ctfdump $DUMP $COMMON -L. -lz -lelf + popd + ''; + + installPhase = '' + mkdir -p $out/bin + cp tools/ctfconvert/ctfconvert $out/bin + cp tools/ctfconvert/ctfmerge $out/bin + cp tools/ctfconvert/ctfdump $out/bin + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix b/pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix new file mode 100644 index 00000000000..56b0d93f99b --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix @@ -0,0 +1,18 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/lib $out/include + ln -s /usr/lib/dyld $out/lib/dyld + cp -r include $out/ + ''; + + meta = with stdenv.lib; { + description = "Impure primitive symlinks to the Mac OS native dyld, along with headers"; + maintainers = with maintainers; [ copumpkin ]; + platforms = platforms.darwin; + license = licenses.apsl20; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix b/pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix new file mode 100644 index 00000000000..af9493fe32e --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix @@ -0,0 +1,11 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; + + installPhase = '' + mkdir -p $out/Library/Frameworks/EAP8021X.framework/Headers + + cp EAP8021X.fproj/EAPClientProperties.h $out/Library/Frameworks/EAP8021X.framework/Headers + ''; +} \ No newline at end of file diff --git a/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix b/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix new file mode 100644 index 00000000000..c0e00ca1636 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix @@ -0,0 +1,14 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + # No clue why the same file has two different names. Ask Apple! + installPhase = '' + mkdir -p $out/include/ $out/include/servers + cp liblaunch/*.h $out/include + + cp liblaunch/bootstrap.h $out/include/servers + cp liblaunch/bootstrap.h $out/include/servers/bootstrap_defs.h + ''; +} \ No newline at end of file diff --git a/pkgs/os-specific/darwin/apple-source-releases/libauto/auto_dtrace.h b/pkgs/os-specific/darwin/apple-source-releases/libauto/auto_dtrace.h new file mode 100644 index 00000000000..bf367a3cabb --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/libauto/auto_dtrace.h @@ -0,0 +1,129 @@ +/* + * Generated by dtrace(1M). + */ + +#ifndef _AUTO_DTRACE_H +#define _AUTO_DTRACE_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define GARBAGE_COLLECTION_STABILITY "___dtrace_stability$garbage_collection$v1$1_1_0_1_1_0_1_1_0_1_1_0_1_1_0" + +#define GARBAGE_COLLECTION_TYPEDEFS "___dtrace_typedefs$garbage_collection$v2$6175746f5f636f6c6c656374696f6e5f70686173655f74$6175746f5f636f6c6c656374696f6e5f747970655f74$6d616c6c6f635f7a6f6e655f74" + +#if !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED + +#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY(arg0, arg1) \ +do { \ + __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \ + __dtrace_probe$garbage_collection$auto_block_lost_thread_locality$v1$766f6964202a$75696e7436345f74(arg0, arg1); \ + __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \ +} while (0) +#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY_ENABLED() \ + ({ int _r = __dtrace_isenabled$garbage_collection$auto_block_lost_thread_locality$v1(); \ + __asm__ volatile(""); \ + _r; }) +#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION(arg0) \ +do { \ + __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \ + __dtrace_probe$garbage_collection$auto_refcount_one_allocation$v1$75696e7436345f74(arg0); \ + __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \ +} while (0) +#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION_ENABLED() \ + ({ int _r = __dtrace_isenabled$garbage_collection$auto_refcount_one_allocation$v1(); \ + __asm__ volatile(""); \ + _r; }) +#define GARBAGE_COLLECTION_COLLECTION_BEGIN(arg0, arg1) \ +do { \ + __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \ + __dtrace_probe$garbage_collection$collection_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f747970655f74(arg0, arg1); \ + __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \ +} while (0) +#define GARBAGE_COLLECTION_COLLECTION_BEGIN_ENABLED() \ + ({ int _r = __dtrace_isenabled$garbage_collection$collection_begin$v1(); \ + __asm__ volatile(""); \ + _r; }) +#define GARBAGE_COLLECTION_COLLECTION_END(arg0, arg1, arg2, arg3, arg4) \ +do { \ + __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \ + __dtrace_probe$garbage_collection$collection_end$v1$6d616c6c6f635f7a6f6e655f74202a$75696e7436345f74$75696e7436345f74$75696e7436345f74$75696e7436345f74(arg0, arg1, arg2, arg3, arg4); \ + __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \ +} while (0) +#define GARBAGE_COLLECTION_COLLECTION_END_ENABLED() \ + ({ int _r = __dtrace_isenabled$garbage_collection$collection_end$v1(); \ + __asm__ volatile(""); \ + _r; }) +#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN(arg0, arg1) \ +do { \ + __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \ + __dtrace_probe$garbage_collection$collection_phase_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74(arg0, arg1); \ + __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \ +} while (0) +#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN_ENABLED() \ + ({ int _r = __dtrace_isenabled$garbage_collection$collection_phase_begin$v1(); \ + __asm__ volatile(""); \ + _r; }) +#define GARBAGE_COLLECTION_COLLECTION_PHASE_END(arg0, arg1, arg2, arg3) \ +do { \ + __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \ + __dtrace_probe$garbage_collection$collection_phase_end$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74$75696e7436345f74$75696e7436345f74(arg0, arg1, arg2, arg3); \ + __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \ +} while (0) +#define GARBAGE_COLLECTION_COLLECTION_PHASE_END_ENABLED() \ + ({ int _r = __dtrace_isenabled$garbage_collection$collection_phase_end$v1(); \ + __asm__ volatile(""); \ + _r; }) + + +extern void __dtrace_probe$garbage_collection$auto_block_lost_thread_locality$v1$766f6964202a$75696e7436345f74(const void *, uint64_t); +extern int __dtrace_isenabled$garbage_collection$auto_block_lost_thread_locality$v1(void); +extern void __dtrace_probe$garbage_collection$auto_refcount_one_allocation$v1$75696e7436345f74(uint64_t); +extern int __dtrace_isenabled$garbage_collection$auto_refcount_one_allocation$v1(void); +extern void __dtrace_probe$garbage_collection$collection_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f747970655f74(const malloc_zone_t *, auto_collection_type_t); +extern int __dtrace_isenabled$garbage_collection$collection_begin$v1(void); +extern void __dtrace_probe$garbage_collection$collection_end$v1$6d616c6c6f635f7a6f6e655f74202a$75696e7436345f74$75696e7436345f74$75696e7436345f74$75696e7436345f74(const malloc_zone_t *, uint64_t, uint64_t, uint64_t, uint64_t); +extern int __dtrace_isenabled$garbage_collection$collection_end$v1(void); +extern void __dtrace_probe$garbage_collection$collection_phase_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74(const malloc_zone_t *, auto_collection_phase_t); +extern int __dtrace_isenabled$garbage_collection$collection_phase_begin$v1(void); +extern void __dtrace_probe$garbage_collection$collection_phase_end$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74$75696e7436345f74$75696e7436345f74(const malloc_zone_t *, auto_collection_phase_t, uint64_t, uint64_t); +extern int __dtrace_isenabled$garbage_collection$collection_phase_end$v1(void); + +#else + +#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY(arg0, arg1) \ +do { \ + } while (0) +#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY_ENABLED() (0) +#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION(arg0) \ +do { \ + } while (0) +#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION_ENABLED() (0) +#define GARBAGE_COLLECTION_COLLECTION_BEGIN(arg0, arg1) \ +do { \ + } while (0) +#define GARBAGE_COLLECTION_COLLECTION_BEGIN_ENABLED() (0) +#define GARBAGE_COLLECTION_COLLECTION_END(arg0, arg1, arg2, arg3, arg4) \ +do { \ + } while (0) +#define GARBAGE_COLLECTION_COLLECTION_END_ENABLED() (0) +#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN(arg0, arg1) \ +do { \ + } while (0) +#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN_ENABLED() (0) +#define GARBAGE_COLLECTION_COLLECTION_PHASE_END(arg0, arg1, arg2, arg3) \ +do { \ + } while (0) +#define GARBAGE_COLLECTION_COLLECTION_PHASE_END_ENABLED() (0) + +#endif /* !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED */ + + +#ifdef __cplusplus +} +#endif + +#endif /* _AUTO_DTRACE_H */ diff --git a/pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix new file mode 100644 index 00000000000..1c61297c7d5 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix @@ -0,0 +1,74 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + buildPhase = '' + cp ${./auto_dtrace.h} ./auto_dtrace.h + + substituteInPlace auto_zone.cpp \ + --replace "#include " ''$'#include \nstatic void msgtracer_log_with_keys(...) { };' + + substituteInPlace Definitions.h \ + --replace "#include " "" + + # getspecific_direct is more efficient, but this should be equivalent... + substituteInPlace Zone.h \ + --replace "_pthread_getspecific_direct" "pthread_getspecific" \ + --replace "_pthread_has_direct_tsd()" "0" \ + --replace "__PTK_FRAMEWORK_GC_KEY0" "110" \ + --replace "__PTK_FRAMEWORK_GC_KEY1" "111" \ + --replace "__PTK_FRAMEWORK_GC_KEY2" "112" \ + --replace "__PTK_FRAMEWORK_GC_KEY3" "113" \ + --replace "__PTK_FRAMEWORK_GC_KEY4" "114" \ + --replace "__PTK_FRAMEWORK_GC_KEY5" "115" \ + --replace "__PTK_FRAMEWORK_GC_KEY6" "116" \ + --replace "__PTK_FRAMEWORK_GC_KEY7" "117" \ + --replace "__PTK_FRAMEWORK_GC_KEY8" "118" \ + --replace "__PTK_FRAMEWORK_GC_KEY9" "119" + + substituteInPlace auto_zone.cpp \ + --replace "__PTK_FRAMEWORK_GC_KEY9" "119" \ + --replace "__PTK_FRAMEWORK_GC_KEY0" "110" \ + + substituteInPlace Zone.cpp \ + --replace "_pthread_getspecific_direct" "pthread_getspecific" \ + --replace "__PTK_FRAMEWORK_GC_KEY9" "119" \ + --replace "__PTK_FRAMEWORK_GC_KEY0" "110" \ + --replace "__PTK_LIBDISPATCH_KEY0" "20" \ + --replace "struct auto_zone_cursor {" ''$'extern "C" int pthread_key_init_np(int, void (*)(void *));\nstruct auto_zone_cursor {' + + substituteInPlace auto_impl_utilities.c \ + --replace "# include " "void CRSetCrashLogMessage(void *msg) { };" + + c++ -I. -O3 -c -Wno-c++11-extensions auto_zone.cpp + cc -I. -O3 -Iauto_tester -c auto_impl_utilities.c + c++ -I. -O3 -c auto_weak.cpp + c++ -I. -O3 -c Admin.cpp + c++ -I. -O3 -c Bitmap.cpp + c++ -I. -O3 -c Definitions.cpp + c++ -I. -O3 -c Environment.cpp + c++ -I. -O3 -c Large.cpp + c++ -I. -O3 -c Region.cpp + c++ -I. -O3 -c Subzone.cpp + c++ -I. -O3 -c WriteBarrier.cpp + c++ -I. -O3 -c Zone.cpp + c++ -I. -O3 -c Thread.cpp + c++ -I. -O3 -c InUseEnumerator.cpp + c++ -I. -O3 -c auto_gdb_interface.cpp + c++ -I. -O3 -c PointerHash.cpp + c++ -I. -O3 -c ThreadLocalCollector.cpp + c++ -I. -O3 -c ZoneDump.cpp + c++ -I. -O3 -c ZoneCollectors.cpp + c++ -I. -O3 -c SubzonePartition.cpp + c++ -I. -O3 -c ZoneCollectionChecking.cpp + c++ -I. -O3 -c ZoneCompaction.cpp + c++ -I. -O3 -c BlockRef.cpp + + c++ -Wl,-no_dtrace_dof --stdlib=libc++ -dynamiclib -install_name $out/lib/libauto.dylib -o libauto.dylib *.o + ''; + + installPhase = '' + mkdir -p $out/lib $out/include + cp auto_zone.h auto_weak.h auto_tester/auto_tester.h auto_gdb_interface.h $out/include + cp libauto.dylib $out/lib + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix new file mode 100644 index 00000000000..a0201f9db2c --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix @@ -0,0 +1,10 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/include + cp *.h $out/include/ + ''; +} \ No newline at end of file diff --git a/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix new file mode 100644 index 00000000000..56c00557d43 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix @@ -0,0 +1,13 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/include/dispatch $out/include/os + + cp -r dispatch/*.h $out/include/dispatch + cp -r private/*.h $out/include/dispatch + cp -r os/object.h $out/include/os + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix new file mode 100644 index 00000000000..5b82835d3e6 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix @@ -0,0 +1,15 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + preConfigure = "cd libiconv"; + + postInstall = '' + mv $out/lib/libiconv.dylib $out/lib/libiconv-nocharset.dylib + install_name_tool -id $out/lib/libiconv-nocharset.dylib $out/lib/libiconv-nocharset.dylib + + ld -dylib -o $out/lib/libiconv.dylib \ + -reexport_library $out/lib/libiconv-nocharset.dylib \ + -reexport_library $out/lib/libcharset.dylib \ + -dylib_compatibility_version 7.0.0 + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix new file mode 100644 index 00000000000..027784e2ea6 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix @@ -0,0 +1,13 @@ +{ stdenv, appleDerivation, libdispatch, xnu }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; + + propagatedBuildInputs = [ libdispatch xnu ]; + + installPhase = '' + mkdir -p $out/include/pthread + cp pthread/*.h $out/include/pthread/ + cp private/*.h $out/include/pthread/ + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix new file mode 100644 index 00000000000..a74198e8ddd --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix @@ -0,0 +1,51 @@ +{ stdenv, appleDerivation, Libinfo, configd, mDNSResponder }: + +appleDerivation { + phases = [ "unpackPhase" "buildPhase" "installPhase" ]; + + buildInputs = [ Libinfo configd mDNSResponder ]; + + buildPhase = '' + cc -I. -c dns_util.c + cc -I. -c dns.c + cc -I. -c dns_async.c + cc -I. -c base64.c + cc -I. -c dst_api.c + cc -I. -c dst_hmac_link.c + cc -I. -c dst_support.c + cc -I. -c ns_date.c + cc -I. -c ns_name.c + cc -I. -c ns_netint.c + cc -I. -c ns_parse.c + cc -I. -c ns_print.c + cc -I. -c ns_samedomain.c + cc -I. -c ns_sign.c + cc -I. -c ns_ttl.c + cc -I. -c ns_verify.c + cc -I. -c res_comp.c + cc -I. -c res_data.c + cc -I. -c res_debug.c + cc -I. -c res_findzonecut.c + cc -I. -c res_init.c + cc -I. -c res_mkquery.c + cc -I. -c res_mkupdate.c + cc -I. -c res_query.c + cc -I. -c res_send.c + cc -I. -c res_sendsigned.c + cc -I. -c res_update.c + cc -dynamiclib -install_name $out/lib/libresolv.9.dylib -o libresolv.9.dylib *.o + ''; + + installPhase = '' + mkdir -p $out/include $out/include/arpa $out/lib + + cp dns.h $out/include/ + cp dns_util.h $out/include + cp nameser.h $out/include + ln -s ../nameser.h $out/include/arpa + cp resolv.h $out/include + + cp libresolv.9.dylib $out/lib + ln -s libresolv.9.dylib $out/lib/libresolv.dylib + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix new file mode 100644 index 00000000000..32c8d6717f0 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix @@ -0,0 +1,29 @@ +{ stdenv, appleDerivation, dyld }: + +appleDerivation { + phases = [ "unpackPhase" "buildPhase" "installPhase" ]; + + buildInputs = [ dyld ]; + + buildPhase = '' + # cd src + # cc -I$PWD/../include -c libuwind.cxx + # cc -I$PWD/../include -c Registers.s + # cc -I$PWD/../include -c unw_getcontext.s + # cc -I$PWD/../include -c UnwindLevel1.c + # cc -I$PWD/../include -c UnwindLevel1-gcc-ext.c + # cc -I$PWD/../include -c Unwind-sjlj.c + ''; + + installPhase = '' + mkdir -p $out + + cp -r include $out + ''; + + meta = with stdenv.lib; { + maintainers = with maintainers; [ copumpkin ]; + platforms = platforms.darwin; + license = licenses.apsl20; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/mDNSResponder/default.nix b/pkgs/os-specific/darwin/apple-source-releases/mDNSResponder/default.nix new file mode 100644 index 00000000000..63674808d93 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/mDNSResponder/default.nix @@ -0,0 +1,10 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/include + cp mDNSShared/dns_sd.h $out/include + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix b/pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix new file mode 100644 index 00000000000..cea5fc9a4e2 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix @@ -0,0 +1,35 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + # Not strictly necessary, since libSystem depends on it, but it's nice to be explicit so we + # can easily find out what's impure. + __propagatedImpureHostDeps = [ + "/usr/lib/libauto.dylib" + "/usr/lib/libc++abi.dylib" + "/usr/lib/libc++.1.dylib" + "/usr/lib/libSystem.B.dylib" + ]; + + installPhase = '' + mkdir -p $out/include/objc $out/lib + ln -s /usr/lib/libobjc.dylib $out/lib/libobjc.dylib + cp runtime/OldClasses.subproj/List.h $out/include/objc/List.h + cp runtime/NSObjCRuntime.h $out/include/objc/NSObjCRuntime.h + cp runtime/NSObject.h $out/include/objc/NSObject.h + cp runtime/Protocol.h $out/include/objc/Protocol.h + cp runtime/hashtable.h $out/include/objc/hashtable.h + cp runtime/hashtable2.h $out/include/objc/hashtable2.h + cp runtime/message.h $out/include/objc/message.h + cp runtime/objc-api.h $out/include/objc/objc-api.h + cp runtime/objc-auto.h $out/include/objc/objc-auto.h + cp runtime/objc-class.h $out/include/objc/objc-class.h + cp runtime/objc-exception.h $out/include/objc/objc-exception.h + cp runtime/objc-load.h $out/include/objc/objc-load.h + cp runtime/objc-runtime.h $out/include/objc/objc-runtime.h + cp runtime/objc-sync.h $out/include/objc/objc-sync.h + cp runtime/objc.h $out/include/objc/objc.h + cp runtime/runtime.h $out/include/objc/runtime.h + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/objc4/objc-probes.h b/pkgs/os-specific/darwin/apple-source-releases/objc4/objc-probes.h new file mode 100644 index 00000000000..4ad9ba9ad10 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/objc4/objc-probes.h @@ -0,0 +1,65 @@ +/* + * Generated by dtrace(1M). + */ + +#ifndef _OBJC_PROBES_H +#define _OBJC_PROBES_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define OBJC_RUNTIME_STABILITY "___dtrace_stability$objc_runtime$v1$1_1_0_1_1_0_1_1_0_1_1_0_1_1_0" + +#define OBJC_RUNTIME_TYPEDEFS "___dtrace_typedefs$objc_runtime$v2" + +#if !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED + +#define OBJC_RUNTIME_OBJC_EXCEPTION_RETHROW() \ +do { \ + __asm__ volatile(".reference " OBJC_RUNTIME_TYPEDEFS); \ + __dtrace_probe$objc_runtime$objc_exception_rethrow$v1(); \ + __asm__ volatile(".reference " OBJC_RUNTIME_STABILITY); \ +} while (0) +#define OBJC_RUNTIME_OBJC_EXCEPTION_RETHROW_ENABLED() \ + ({ int _r = __dtrace_isenabled$objc_runtime$objc_exception_rethrow$v1(); \ + __asm__ volatile(""); \ + _r; }) +#define OBJC_RUNTIME_OBJC_EXCEPTION_THROW(arg0) \ +do { \ + __asm__ volatile(".reference " OBJC_RUNTIME_TYPEDEFS); \ + __dtrace_probe$objc_runtime$objc_exception_throw$v1$766f6964202a(arg0); \ + __asm__ volatile(".reference " OBJC_RUNTIME_STABILITY); \ +} while (0) +#define OBJC_RUNTIME_OBJC_EXCEPTION_THROW_ENABLED() \ + ({ int _r = __dtrace_isenabled$objc_runtime$objc_exception_throw$v1(); \ + __asm__ volatile(""); \ + _r; }) + + +extern void __dtrace_probe$objc_runtime$objc_exception_rethrow$v1(void); +extern int __dtrace_isenabled$objc_runtime$objc_exception_rethrow$v1(void); +extern void __dtrace_probe$objc_runtime$objc_exception_throw$v1$766f6964202a(const void *); +extern int __dtrace_isenabled$objc_runtime$objc_exception_throw$v1(void); + +#else + +#define OBJC_RUNTIME_OBJC_EXCEPTION_RETHROW() \ +do { \ + } while (0) +#define OBJC_RUNTIME_OBJC_EXCEPTION_RETHROW_ENABLED() (0) +#define OBJC_RUNTIME_OBJC_EXCEPTION_THROW(arg0) \ +do { \ + } while (0) +#define OBJC_RUNTIME_OBJC_EXCEPTION_THROW_ENABLED() (0) + +#endif /* !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED */ + + +#ifdef __cplusplus +} +#endif + +#endif /* _OBJC_PROBES_H */ diff --git a/pkgs/os-specific/darwin/apple-source-releases/objc4/pure.nix b/pkgs/os-specific/darwin/apple-source-releases/objc4/pure.nix new file mode 100644 index 00000000000..28dcbdcb4a2 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/objc4/pure.nix @@ -0,0 +1,118 @@ +{ stdenv, fetchapplesource, libauto, launchd, libc_old, libunwind }: + +stdenv.mkDerivation rec { + version = "551.1"; + name = "objc4-${version}"; + + src = fetchapplesource { + inherit version; + name = "objc4"; + sha256 = "1jrdb6yyb5jwwj27c1r0nr2y2ihqjln8ynj61mpkvp144c1cm5bg"; + }; + + patches = [ ./spinlocks.patch ]; + + buildInputs = [ libauto launchd libc_old libunwind ]; + + buildPhase = '' + cp ${./objc-probes.h} runtime/objc-probes.h + + mkdir -p build/include/objc + + cp runtime/hashtable.h build/include/objc/hashtable.h + cp runtime/OldClasses.subproj/List.h build/include/objc/List.h + cp runtime/hashtable2.h build/include/objc/hashtable2.h + cp runtime/message.h build/include/objc/message.h + cp runtime/objc-api.h build/include/objc/objc-api.h + cp runtime/objc-auto.h build/include/objc/objc-auto.h + cp runtime/objc-class.h build/include/objc/objc-class.h + cp runtime/objc-exception.h build/include/objc/objc-exception.h + cp runtime/objc-load.h build/include/objc/objc-load.h + cp runtime/objc-sync.h build/include/objc/objc-sync.h + cp runtime/objc.h build/include/objc/objc.h + cp runtime/objc-runtime.h build/include/objc/objc-runtime.h + cp runtime/Object.h build/include/objc/Object.h + cp runtime/Protocol.h build/include/objc/Protocol.h + cp runtime/runtime.h build/include/objc/runtime.h + cp runtime/NSObject.h build/include/objc/NSObject.h + cp runtime/NSObjCRuntime.h build/include/objc/NSObjCRuntime.h + + # These would normally be in local/include but we don't do local, so they're + # going in with the others + cp runtime/maptable.h build/include/objc/maptable.h + cp runtime/objc-abi.h build/include/objc/objc-abi.h + cp runtime/objc-auto-dump.h build/include/objc/objc-auto-dump.h + cp runtime/objc-gdb.h build/include/objc/objc-gdb.h + cp runtime/objc-internal.h build/include/objc/objc-internal.h + + cc -o markgc markgc.c + + FLAGS="-Wno-deprecated-register -Wno-unknown-pragmas -Wno-deprecated-objc-isa-usage -Wno-invalid-offsetof -Wno-inline-new-delete -Wno-cast-of-sel-type -Iruntime -Ibuild/include -Iruntime/Accessors.subproj -D_LIBCPP_VISIBLE= -DOS_OBJECT_USE_OBJC=0 -DNDEBUG=1" + + cc -std=gnu++11 $FLAGS -c runtime/hashtable2.mm + cc -std=gnu++11 $FLAGS -c runtime/maptable.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-auto.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-cache.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-class-old.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-class.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-errors.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-exception.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-file.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-initialize.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-layout.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-load.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-loadmethod.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-lockdebug.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-runtime-new.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-runtime-old.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-runtime.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-sel-set.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-sel.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-sync.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-typeencoding.mm + cc -std=gnu++11 $FLAGS -c runtime/Object.mm + cc -std=gnu++11 $FLAGS -c runtime/Protocol.mm + + cc -std=gnu++11 $FLAGS -c runtime/objc-references.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-os.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-auto-dump.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-file-old.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-block-trampolines.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-externalref.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-weak.mm + cc -std=gnu++11 $FLAGS -c runtime/NSObject.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-opt.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-cache-old.mm + cc -std=gnu++11 $FLAGS -c runtime/objc-sel-old.mm + + cc -std=gnu++11 $FLAGS -c runtime/Accessors.subproj/objc-accessors.mm + + cc $FLAGS -c runtime/objc-sel-table.s + + cc $FLAGS -c runtime/OldClasses.subproj/List.m + cc $FLAGS -c runtime/Messengers.subproj/objc-msg-arm.s + cc $FLAGS -c runtime/Messengers.subproj/objc-msg-i386.s + cc $FLAGS -c runtime/Messengers.subproj/objc-msg-x86_64.s + cc $FLAGS -c runtime/Messengers.subproj/objc-msg-simulator-i386.s + + cc $FLAGS -c runtime/a1a2-blocktramps-i386.s + cc $FLAGS -c runtime/a2a3-blocktramps-i386.s + + cc $FLAGS -c runtime/a1a2-blocktramps-x86_64.s + cc $FLAGS -c runtime/a2a3-blocktramps-x86_64.s + + cc $FLAGS -c runtime/a1a2-blocktramps-arm.s + cc $FLAGS -c runtime/a2a3-blocktramps-arm.s + + c++ -Wl,-no_dtrace_dof --stdlib=libc++ -dynamiclib -lauto -install_name $out/lib/libobjc.dylib -o libobjc.dylib *.o + + ./markgc -p libobjc.dylib + ''; + + installPhase = '' + mkdir -p $out/include $out/lib + + mv build/include/objc $out/include + mv libobjc.dylib $out/lib + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/objc4/spinlocks.patch b/pkgs/os-specific/darwin/apple-source-releases/objc4/spinlocks.patch new file mode 100644 index 00000000000..50c6a983fe4 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/objc4/spinlocks.patch @@ -0,0 +1,107 @@ +--- objc4-551.1/runtime/objc-os.h 2013-06-10 21:16:15.000000000 -0400 ++++ ../objc4-551.1/runtime/objc-os.h 2015-01-19 01:01:36.000000000 -0500 +@@ -77,27 +77,72 @@ + # include + # include + # include +-# include + # include + # include +-# include + # include "objc-probes.h" // generated dtrace probe definitions. + ++#define __PTK_FRAMEWORK_OBJC_KEY5 45 ++#define __PTK_FRAMEWORK_OBJC_KEY6 46 ++#define __PTK_FRAMEWORK_OBJC_KEY7 47 ++#define __PTK_FRAMEWORK_OBJC_KEY8 48 ++#define __PTK_FRAMEWORK_OBJC_KEY9 49 ++ ++extern "C" int pthread_key_init_np(int, void (*)(void *)); ++ + // Some libc functions call objc_msgSend() + // so we can't use them without deadlocks. + void syslog(int, const char *, ...) UNAVAILABLE_ATTRIBUTE; + void vsyslog(int, const char *, va_list) UNAVAILABLE_ATTRIBUTE; + ++#if defined(__i386__) || defined(__x86_64__) ++ ++// Inlined spinlock. ++// Not for arm on iOS because it hurts uniprocessor performance. ++ ++#define ARR_SPINLOCK_INIT 0 ++// XXX -- Careful: OSSpinLock isn't volatile, but should be ++typedef volatile int ARRSpinLock; ++__attribute__((always_inline)) ++static inline void ARRSpinLockLock(ARRSpinLock *l) ++{ ++ unsigned y; ++again: ++ if (__builtin_expect(__sync_lock_test_and_set(l, 1), 0) == 0) { ++ return; ++ } ++ for (y = 1000; y; y--) { ++#if defined(__i386__) || defined(__x86_64__) ++ asm("pause"); ++#endif ++ if (*l == 0) goto again; ++ } ++ thread_switch(THREAD_NULL, SWITCH_OPTION_DEPRESS, 1); ++ goto again; ++} ++__attribute__((always_inline)) ++static inline void ARRSpinLockUnlock(ARRSpinLock *l) ++{ ++ __sync_lock_release(l); ++} ++__attribute__((always_inline)) ++static inline int ARRSpinLockTry(ARRSpinLock *l) ++{ ++ return __sync_bool_compare_and_swap(l, 0, 1); ++} ++ ++#define spinlock_t ARRSpinLock ++#define spinlock_trylock(l) ARRSpinLockTry(l) ++#define spinlock_lock(l) ARRSpinLockLock(l) ++#define spinlock_unlock(l) ARRSpinLockUnlock(l) ++#define SPINLOCK_INITIALIZER ARR_SPINLOCK_INIT + +-#define spinlock_t os_lock_handoff_s +-#define spinlock_trylock(l) os_lock_trylock(l) +-#define spinlock_lock(l) os_lock_lock(l) +-#define spinlock_unlock(l) os_lock_unlock(l) +-#define SPINLOCK_INITIALIZER OS_LOCK_HANDOFF_INIT ++#endif + + + #if !TARGET_OS_IPHONE +-# include ++#define CRSetCrashLogMessage(msg) ++#define CRGetCrashLogMessage() 0 ++#define CRSetCrashLogMessage2(msg) + #else + // CrashReporterClient not yet available on iOS + __BEGIN_DECLS +@@ -594,21 +639,13 @@ + { + assert(is_valid_direct_key(k)); + +- if (_pthread_has_direct_tsd()) { +- return _pthread_getspecific_direct(k); +- } else { +- return pthread_getspecific(k); +- } ++ return pthread_getspecific(k); + } + static inline void tls_set_direct(tls_key_t k, void *value) + { + assert(is_valid_direct_key(k)); + +- if (_pthread_has_direct_tsd()) { +- _pthread_setspecific_direct(k, value); +- } else { +- pthread_setspecific(k, value); +- } ++ pthread_setspecific(k, value); + } + + // not arm diff --git a/pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix b/pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix new file mode 100644 index 00000000000..ffc19801c5d --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix @@ -0,0 +1,16 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; + + installPhase = '' + mkdir -p $out/include/ppp + + cp Controller/ppp_msg.h $out/include/ppp + cp Controller/pppcontroller_types.h $out/include/ppp + cp Controller/pppcontroller_types.h $out/include + cp Controller/pppcontroller.defs $out/include/ppp + cp Controller/pppcontroller_mach_defines.h $out/include + cp Controller/PPPControllerPriv.h $out/include/ppp + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix b/pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix new file mode 100644 index 00000000000..315f93bef08 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix @@ -0,0 +1,10 @@ +{ stdenv, appleDerivation }: + +appleDerivation { + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/include/ + cp removefile.h checkint.h $out/include/ + ''; +} \ No newline at end of file diff --git a/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix b/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix new file mode 100644 index 00000000000..8276d2f4b42 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix @@ -0,0 +1,117 @@ +{ stdenv, appleDerivation, fetchzip, bootstrap_cmds, bison, flex, gnum4, unifdef, perl }: + +appleDerivation { + phases = [ "unpackPhase" "patchPhase" "installPhase" ]; + + buildInputs = [ bootstrap_cmds bison flex gnum4 unifdef perl ]; + + patchPhase = '' + substituteInPlace Makefile \ + --replace "/bin/" "" \ + --replace "MAKEJOBS := " '# MAKEJOBS := ' + + substituteInPlace makedefs/MakeInc.cmd \ + --replace "/usr/bin/" "" \ + --replace "/bin/" "" \ + --replace "-Werror " "" + + substituteInPlace makedefs/MakeInc.def \ + --replace "-c -S -m" "-c -m" + + substituteInPlace makedefs/MakeInc.top \ + --replace "MEMORY_SIZE := " 'MEMORY_SIZE := 1073741824 # ' + + substituteInPlace libkern/kxld/Makefile \ + --replace "-Werror " "" + + substituteInPlace SETUP/kextsymboltool/Makefile \ + --replace "-lstdc++" "-lc++" + + substituteInPlace libsyscall/xcodescripts/mach_install_mig.sh \ + --replace "/usr/include" "/include" \ + --replace "/usr/local/include" "/include" \ + --replace "MIG=" "# " \ + --replace "MIGCC=" "# " \ + --replace " -o 0" "" \ + --replace '$SRC/$mig' '-I$DSTROOT/include $SRC/$mig' \ + --replace '$SRC/servers/netname.defs' '-I$DSTROOT/include $SRC/servers/netname.defs' + + patchShebangs . + ''; + + installPhase = '' + # This is a bit of a hack... + mkdir -p sdk/usr/local/libexec + + cat > sdk/usr/local/libexec/availability.pl < Date: Sun, 8 Feb 2015 01:54:08 -0500 Subject: [PATCH 150/248] This doesn't exist yet --- pkgs/top-level/all-packages.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9132ddee9a8..4841b1ec6cc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8432,7 +8432,6 @@ let cmdline_sdk = cmdline.sdk; cmdline_tools = cmdline.tools; - apple_sdk = callPackage ../os-specific/darwin/apple-sdk {}; libobjc = apple-source-releases.objc4; }; From 43cc3a963db43220e28a779b40cf3218d9fb599c Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sun, 8 Feb 2015 01:54:46 -0500 Subject: [PATCH 151/248] This gets "inherited" from apple-source-releases --- pkgs/top-level/all-packages.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4841b1ec6cc..4016b6dc2ea 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8425,14 +8425,12 @@ let osx_private_sdk = callPackage ../os-specific/darwin/osx-private-sdk { inherit osx_sdk; }; ps = callPackage ../os-specific/darwin/adv_cmds/ps.nix {}; - bootstrap_cmds = callPackage ../os-specific/darwin/bootstrap-cmds {}; security_tool = callPackage ../os-specific/darwin/security-tool { inherit osx_private_sdk; }; cmdline_sdk = cmdline.sdk; cmdline_tools = cmdline.tools; - libobjc = apple-source-releases.objc4; }; From 507d65d7d4f195ecd5b08ee5d24f6e96924f7b1c Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sun, 8 Feb 2015 02:12:51 -0500 Subject: [PATCH 152/248] Get rid of default search paths in clang 3.5 --- pkgs/development/compilers/llvm/3.5/clang.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/compilers/llvm/3.5/clang.nix b/pkgs/development/compilers/llvm/3.5/clang.nix index f2f3d15de17..e4cfd83d010 100644 --- a/pkgs/development/compilers/llvm/3.5/clang.nix +++ b/pkgs/development/compilers/llvm/3.5/clang.nix @@ -21,6 +21,11 @@ stdenv.mkDerivation { patches = [ ./clang-purity.patch ]; + postPatch = '' + substituteInPlace lib/Driver/Tools.cpp --replace "Args.hasArg(options::OPT_nostdlibinc)" "true" + substituteInPlace lib/Driver/ToolChains.cpp --replace "DriverArgs.hasArg(options::OPT_nostdlibinc)" "true" + ''; + # Clang expects to find LLVMgold in its own prefix # Clang expects to find sanitizer libraries in its own prefix postInstall = '' From 19c359ce2a2aa45a6443a5a5067a6cdbd7a9779b Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sun, 8 Feb 2015 03:04:41 -0500 Subject: [PATCH 153/248] substituteInPlace doesn't seem to work properly on this bash, so use sed instead --- pkgs/development/compilers/llvm/3.5/clang.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/llvm/3.5/clang.nix b/pkgs/development/compilers/llvm/3.5/clang.nix index e4cfd83d010..a95b77c08b6 100644 --- a/pkgs/development/compilers/llvm/3.5/clang.nix +++ b/pkgs/development/compilers/llvm/3.5/clang.nix @@ -22,8 +22,8 @@ stdenv.mkDerivation { patches = [ ./clang-purity.patch ]; postPatch = '' - substituteInPlace lib/Driver/Tools.cpp --replace "Args.hasArg(options::OPT_nostdlibinc)" "true" - substituteInPlace lib/Driver/ToolChains.cpp --replace "DriverArgs.hasArg(options::OPT_nostdlibinc)" "true" + sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp + sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp ''; # Clang expects to find LLVMgold in its own prefix From b83433cdd1e5c1122bb7bd03cce5bc89bd22dcbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 8 Feb 2015 10:41:01 +0100 Subject: [PATCH 154/248] Remove gui (see #6207), use nixui instead --- nixos/gui/README | 16 -- nixos/gui/application.ini | 36 --- nixos/gui/chrome.manifest | 1 - nixos/gui/chrome/chrome.manifest | 1 - nixos/gui/chrome/content/io.js | 137 ---------- nixos/gui/chrome/content/main.js | 70 ----- nixos/gui/chrome/content/myviewer.xul | 63 ----- nixos/gui/chrome/content/nixos.js | 255 ------------------ nixos/gui/chrome/content/optionView.js | 242 ----------------- nixos/gui/components/clh.js | 154 ----------- .../defaults/preferences/myviewer-prefs.js | 11 - nixos/modules/installer/tools/tools.nix | 37 --- 12 files changed, 1023 deletions(-) delete mode 100644 nixos/gui/README delete mode 100644 nixos/gui/application.ini delete mode 100644 nixos/gui/chrome.manifest delete mode 100644 nixos/gui/chrome/chrome.manifest delete mode 100644 nixos/gui/chrome/content/io.js delete mode 100644 nixos/gui/chrome/content/main.js delete mode 100644 nixos/gui/chrome/content/myviewer.xul delete mode 100644 nixos/gui/chrome/content/nixos.js delete mode 100644 nixos/gui/chrome/content/optionView.js delete mode 100644 nixos/gui/components/clh.js delete mode 100644 nixos/gui/defaults/preferences/myviewer-prefs.js diff --git a/nixos/gui/README b/nixos/gui/README deleted file mode 100644 index c038314a0dc..00000000000 --- a/nixos/gui/README +++ /dev/null @@ -1,16 +0,0 @@ -This file should become a nix expression. (see modules/installer/tools/tools.nix) - -you need to: -- download the latest jQuery from and copy it to chrome/content: - http://code.jquery.com/jquery-1.5.2.js - -- install 'xulrunner' with nix: - nix-env -Ai nixpkgs_sys.firefox40Pkgs.xulrunner - -- make sure nixos-option in your path - -- have /etc/nixos/nixpkgs -- have /etc/nixos/nixos - -run it: -- xulrunner /etc/nixos/nixos/gui/application.ini -jsconsole diff --git a/nixos/gui/application.ini b/nixos/gui/application.ini deleted file mode 100644 index d2494a1a5cd..00000000000 --- a/nixos/gui/application.ini +++ /dev/null @@ -1,36 +0,0 @@ -[App] -; -; This field specifies your organization's name. This field is recommended, -; but optional. -Vendor=NixOS -; -; This field specifies your application's name. This field is required. -Name=NixOS-gui -; -; This field specifies your application's version. This field is optional. -Version=0.1 -; -; This field specifies your application's build ID (timestamp). This field is -; required. -BuildID=20110424 -; -; This field specifies a compact copyright notice for your application. This -; field is optional. -;Copyright= - -; -; This ID is just an example. Every XUL app ought to have it's own unique ID. -; You can use the microsoft "guidgen" or "uuidgen" tools, or go on -; irc.mozilla.org and /msg botbot uuid. This field is optional. -;ID= - -[Gecko] -; -; This field is required. It specifies the minimum Gecko version that this -; application requires. -MinVersion=1.9a5 -; -; This field is optional. It specifies the maximum Gecko version that this -; application requires. It should be specified if your application uses -; unfrozen interfaces. -MaxVersion=2.* diff --git a/nixos/gui/chrome.manifest b/nixos/gui/chrome.manifest deleted file mode 100644 index 865d6a88fb4..00000000000 --- a/nixos/gui/chrome.manifest +++ /dev/null @@ -1 +0,0 @@ -manifest chrome/chrome.manifest diff --git a/nixos/gui/chrome/chrome.manifest b/nixos/gui/chrome/chrome.manifest deleted file mode 100644 index 775445ee17b..00000000000 --- a/nixos/gui/chrome/chrome.manifest +++ /dev/null @@ -1 +0,0 @@ -content nixos-gui content/ diff --git a/nixos/gui/chrome/content/io.js b/nixos/gui/chrome/content/io.js deleted file mode 100644 index 8d9c8c17365..00000000000 --- a/nixos/gui/chrome/content/io.js +++ /dev/null @@ -1,137 +0,0 @@ - -function inspect(obj, maxLevels, level) -{ - var str = '', type, msg; - - // Start Input Validations - // Don't touch, we start iterating at level zero - if(level == null) level = 0; - - // At least you want to show the first level - if(maxLevels == null) maxLevels = 1; - if(maxLevels < 1) - return 'Error: Levels number must be > 0'; - - // We start with a non null object - if(obj == null) - return 'Error: Object NULL'; - // End Input Validations - - // Each Iteration must be indented - str += '
    '; - - // Start iterations for all objects in obj - for(property in obj) - { - try - { - // Show "property" and "type property" - type = typeof(obj[property]); - str += '
  • (' + type + ') ' + property + - ( (obj[property]==null)?(': null'):('')) + '
  • '; - - // We keep iterating if this property is an Object, non null - // and we are inside the required number of levels - if((type == 'object') && (obj[property] != null) && (level+1 < maxLevels)) - str += inspect(obj[property], maxLevels, level+1); - } - catch(err) - { - // Is there some properties in obj we can't access? Print it red. - if(typeof(err) == 'string') msg = err; - else if(err.message) msg = err.message; - else if(err.description) msg = err.description; - else msg = 'Unknown'; - - str += '
  • (Error) ' + property + ': ' + msg +'
  • '; - } - } - - // Close indent - str += '
'; - - return str; -} - -// Run xulrunner application.ini -jsconsole -console, to see messages. -function log(str) -{ - Components.classes['@mozilla.org/consoleservice;1'] - .getService(Components.interfaces.nsIConsoleService) - .logStringMessage(str); -} - -function makeTempFile(prefix) -{ - var file = Components.classes["@mozilla.org/file/directory_service;1"] - .getService(Components.interfaces.nsIProperties) - .get("TmpD", Components.interfaces.nsIFile); - file.append(prefix || "xulrunner"); - file.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 0664); - return file; -} - -function writeToFile(file, data) -{ - // file is nsIFile, data is a string - var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"] - .createInstance(Components.interfaces.nsIFileOutputStream); - - // use 0x02 | 0x10 to open file for appending. - foStream.init(file, 0x02 | 0x08 | 0x20, 0664, 0); // write, create, truncate - foStream.write(data, data.length); - foStream.close(); -} - -function readFromFile(file) -{ - // |file| is nsIFile - var data = ""; - var fstream = Components.classes["@mozilla.org/network/file-input-stream;1"] - .createInstance(Components.interfaces.nsIFileInputStream); - var sstream = Components.classes["@mozilla.org/scriptableinputstream;1"] - .createInstance(Components.interfaces.nsIScriptableInputStream); - fstream.init(file, -1, 0, 0); - sstream.init(fstream); - - var str = sstream.read(4096); - while (str.length > 0) { - data += str; - str = sstream.read(4096); - } - - sstream.close(); - fstream.close(); - - return data; -} - -function runProgram(commandLine) -{ - // create an nsILocalFile for the executable - var file = Components.classes["@mozilla.org/file/local;1"] - .createInstance(Components.interfaces.nsILocalFile); - file.initWithPath("/bin/sh"); - - // create an nsIProcess - var process = Components.classes["@mozilla.org/process/util;1"] - .createInstance(Components.interfaces.nsIProcess); - process.init(file); - - // Run the process. - // If first param is true, calling thread will be blocked until - // called process terminates. - // Second and third params are used to pass command-line arguments - // to the process. - var args = ["-c", commandLine]; - process.run(true, args, args.length); -} - -// only for testing... -function testIO() -{ - var f = makeTempFile(); - writeToFile(f, "essai\ntest"); - alert(readFromFile(f)); - runProgram("zenity --info"); -} diff --git a/nixos/gui/chrome/content/main.js b/nixos/gui/chrome/content/main.js deleted file mode 100644 index ecfc5a8c5c9..00000000000 --- a/nixos/gui/chrome/content/main.js +++ /dev/null @@ -1,70 +0,0 @@ -// global variables. -var gNixOS; -var gOptionView; - -/* -var gProgressBar; -function setProgress(current, max) -{ - if (gProgressBar) { - gProgressBar.value = 100 * current / max; - log("progress: " + gProgressBar.value + "%"); - } - else - log("unknow progress bar"); -} -*/ - -function updateTextbox(id, value) -{ - // setting the height cause an overflow which resize the textbox to its - // content due to its onoverflow attribute. - $(id).attr("value", value).attr("height", 1); -}; - -function updatePanel(options) -{ - log("updatePanel: " + options.length); - if (options.length == 0) - return; - // FIXME: ignore the rest of the selection for now. - var o = options[0]; - $("#name").attr("label", o.path); - - if (o.typename != null) - $("#typename").attr("label", o.typename); - else - $("#typename").attr("label", ""); - - $("#desc").text(o.description); - - if (o.value != null) - updateTextbox("#val", o.value); - else - updateTextbox("#val", ""); - - if (o.defaultValue != null) - updateTextbox("#def", o.defaultValue); - else - updateTextbox("#def", ""); - - if (o.example != null) - updateTextbox("#exp", o.example); - else - updateTextbox("#exp", ""); - - updateTextbox("#decls", o.declarations.join("\n")); - updateTextbox("#defs", o.definitions.join("\n")); -} - - -function onload() -{ - var optionTree = document.getElementById("option-tree"); - // gProgressBar = document.getElementById("progress-bar"); - // setProgress(0, 1); - - gNixOS = new NixOS(); - gOptionView = new OptionView(gNixOS.option, updatePanel); - optionTree.view = gOptionView; -} diff --git a/nixos/gui/chrome/content/myviewer.xul b/nixos/gui/chrome/content/myviewer.xul deleted file mode 100644 index 2aeb9391d07..00000000000 --- a/nixos/gui/chrome/content/myviewer.xul +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - -