From 02707296e88a1548155d34a2ff240dfe15f804d7 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Fri, 9 Aug 2013 17:30:10 +0200 Subject: [PATCH 01/44] Update leiningen to 2.3.0. Unfortunately, leiningen will now pull in some dependencies via maven (via http) on `lein version' so the test at the end of builder.sh failed. This is okay because leiningen is used only as a interactive tool and no other package in Nixpkgs depends on it. Signed-off-by: Moritz Ulrich --- .../tools/build-managers/leiningen/builder.sh | 4 ---- .../tools/build-managers/leiningen/default.nix | 14 +++++++------- .../{lein_2.1.2.patch => lein_2.3.0.patch} | 0 3 files changed, 7 insertions(+), 11 deletions(-) rename pkgs/development/tools/build-managers/leiningen/{lein_2.1.2.patch => lein_2.3.0.patch} (100%) diff --git a/pkgs/development/tools/build-managers/leiningen/builder.sh b/pkgs/development/tools/build-managers/leiningen/builder.sh index c4b7002a7186..f5489a4a76fc 100644 --- a/pkgs/development/tools/build-managers/leiningen/builder.sh +++ b/pkgs/development/tools/build-managers/leiningen/builder.sh @@ -21,7 +21,3 @@ chmod -v 755 $out_bin patchShebangs $out wrapProgram $out_bin --prefix PATH ":" ${rlwrap}/bin - -echo "Testing out \"lein version\"..." -$out_bin version -echo "Success." diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix index bf1a275046ec..d7f819c45f6b 100644 --- a/pkgs/development/tools/build-managers/leiningen/default.nix +++ b/pkgs/development/tools/build-managers/leiningen/default.nix @@ -1,21 +1,21 @@ -{stdenv, fetchurl, makeWrapper, openjdk, rlwrap, clojure }: +{ stdenv, fetchurl, makeWrapper, jdk, rlwrap, clojure }: stdenv.mkDerivation rec { pname = "leiningen"; - version = "2.1.2"; + version = "2.3.0"; name = "${pname}-${version}"; src = fetchurl { url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg"; - sha256 = "10s4xpwrhd8wz3h2vj8ay4rf2hw8vzswfkr8ckckk3fhjcn130dy"; + sha256 = "18rk1rr9il5jc3103cnmii6hyc1j3k12d975sqrcqyg97h7f0jkb"; }; jarsrc = fetchurl { url = "https://leiningen.s3.amazonaws.com/downloads/${pname}-${version}-standalone.jar"; - sha256 = "08jq21zpsgwsmsz7lpfxidj2s3mv8i23fjwyl9qc6dngskkx45sa"; + sha256 = "1higd309b43lly7fv1pd5lfd3lyrij95nrzklqmk8vf9llw6974p"; }; - patches = ./lein_2.1.2.patch; + patches = ./lein_2.3.0.patch; inherit rlwrap clojure; @@ -23,13 +23,13 @@ stdenv.mkDerivation rec { buildInputs = [ makeWrapper ]; - propagatedBuildInputs = [ openjdk clojure ]; + propagatedBuildInputs = [ jdk clojure ]; meta = { homepage = https://github.com/technomancy/leiningen; description = "Project automation for Clojure"; license = "EPL"; platforms = stdenv.lib.platforms.unix; - maintainer = with stdenv.lib.maintainers; [the-kenny]; + maintainer = with stdenv.lib.maintainers; [ the-kenny ]; }; } diff --git a/pkgs/development/tools/build-managers/leiningen/lein_2.1.2.patch b/pkgs/development/tools/build-managers/leiningen/lein_2.3.0.patch similarity index 100% rename from pkgs/development/tools/build-managers/leiningen/lein_2.1.2.patch rename to pkgs/development/tools/build-managers/leiningen/lein_2.3.0.patch From d9a4706f73430169bf1d49ea76ea0c15a1bb909b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 9 Aug 2013 17:39:23 +0200 Subject: [PATCH 02/44] linux: Use kmod instead of module-init-tools --- pkgs/os-specific/linux/kernel/builder.sh | 11 ++--------- pkgs/os-specific/linux/kernel/generic.nix | 4 ++-- pkgs/top-level/all-packages.nix | 12 ++++++------ 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/builder.sh b/pkgs/os-specific/linux/kernel/builder.sh index 621237fa9a3f..8fb5e9f91eb4 100644 --- a/pkgs/os-specific/linux/kernel/builder.sh +++ b/pkgs/os-specific/linux/kernel/builder.sh @@ -23,8 +23,6 @@ configurePhase() { export INSTALL_PATH=$out export INSTALL_MOD_PATH=$out - substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" - # Set our own localversion, if specified. rm -f localversion* if test -n "$localVersion"; then @@ -70,14 +68,9 @@ installPhase() { cp vmlinux $out if grep -q "CONFIG_MODULES=y" .config; then - # Install the modules in $out/lib/modules with matching paths - # in modules.dep (i.e., refererring to $out/lib/modules, not - # /lib/modules). The depmod_opts= is to prevent the kernel - # from passing `-b PATH' to depmod. - export MODULE_DIR=$out/lib/modules/ - substituteInPlace Makefile --replace '-b $(INSTALL_MOD_PATH)' '' + # Install the modules in $out/lib/modules. make modules_install \ - DEPMOD=$module_init_tools/sbin/depmod depmod_opts= \ + DEPMOD=$kmod/sbin/depmod \ $makeFlags "${makeFlagsArray[@]}" \ $installFlags "${installFlagsArray[@]}" diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index ad243ae5b7c1..1ade24736279 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perl, mktemp, module_init_tools, bc +{ stdenv, fetchurl, perl, mktemp, kmod, bc , # The kernel source tarball. src @@ -78,7 +78,7 @@ stdenv.mkDerivation { generateConfig = ./generate-config.pl; - inherit preConfigure src module_init_tools localVersion postInstall postBuild; + inherit preConfigure src kmod localVersion postInstall postBuild; patches = map (p: p.patch) kernelPatches; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8b36b2f1595f..cdd240d89b85 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6377,7 +6377,7 @@ let kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { }; linux_3_0 = makeOverridable (import ../os-specific/linux/kernel/linux-3.0.nix) { - inherit fetchurl stdenv perl mktemp bc module_init_tools ubootChooser; + inherit fetchurl stdenv perl mktemp bc kmod ubootChooser; kernelPatches = [ kernelPatches.sec_perm_2_6_24 # kernelPatches.aufs3_0 @@ -6385,7 +6385,7 @@ let }; linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) { - inherit fetchurl stdenv perl mktemp bc module_init_tools ubootChooser; + inherit fetchurl stdenv perl mktemp bc kmod ubootChooser; kernelPatches = [ kernelPatches.sec_perm_2_6_24 # kernelPatches.aufs3_2 @@ -6411,7 +6411,7 @@ let }); linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) { - inherit fetchurl stdenv perl mktemp bc module_init_tools ubootChooser; + inherit fetchurl stdenv perl mktemp bc kmod ubootChooser; kernelPatches = [ kernelPatches.sec_perm_2_6_24 # kernelPatches.aufs3_4 @@ -6430,11 +6430,11 @@ let }); linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) { - inherit fetchurl stdenv perl mktemp bc module_init_tools ubootChooser; + inherit fetchurl stdenv perl mktemp bc kmod ubootChooser; }; linux_3_9 = makeOverridable (import ../os-specific/linux/kernel/linux-3.9.nix) { - inherit fetchurl stdenv perl mktemp bc module_init_tools ubootChooser; + inherit fetchurl stdenv perl mktemp bc kmod ubootChooser; kernelPatches = [ kernelPatches.sec_perm_2_6_24 @@ -6446,7 +6446,7 @@ let }; linux_3_10 = makeOverridable (import ../os-specific/linux/kernel/linux-3.10.nix) { - inherit fetchurl stdenv perl mktemp bc module_init_tools ubootChooser; + inherit fetchurl stdenv perl mktemp bc kmod ubootChooser; kernelPatches = [ kernelPatches.sec_perm_2_6_24 From 9845e6ec5c9dd9dbc3d692e4c62f6c86a0b4dad7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 9 Aug 2013 17:55:45 +0200 Subject: [PATCH 03/44] Kernel module aggregator: Use kmod instead of module-init-tools --- .../linux/{module-init-tools => kmod}/aggregator.nix | 8 ++++---- pkgs/top-level/all-packages.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) rename pkgs/os-specific/linux/{module-init-tools => kmod}/aggregator.nix (80%) diff --git a/pkgs/os-specific/linux/module-init-tools/aggregator.nix b/pkgs/os-specific/linux/kmod/aggregator.nix similarity index 80% rename from pkgs/os-specific/linux/module-init-tools/aggregator.nix rename to pkgs/os-specific/linux/kmod/aggregator.nix index cc4e6ab35521..161af38ff608 100644 --- a/pkgs/os-specific/linux/module-init-tools/aggregator.nix +++ b/pkgs/os-specific/linux/kmod/aggregator.nix @@ -1,4 +1,4 @@ -{stdenv, module_init_tools, modules, buildEnv}: +{ stdenv, kmod, modules, buildEnv }: buildEnv { name = "kernel-modules"; @@ -8,20 +8,20 @@ buildEnv { postBuild = '' source ${stdenv}/setup - + kernelVersion=$(cd $out/lib/modules && ls -d *) if test "$(echo $kernelVersion | wc -w)" != 1; then echo "inconsistent kernel versions: $kernelVersion" exit 1 fi - + echo "kernel version is $kernelVersion" # Regenerate the depmod map files. Be sure to pass an explicit # kernel version number, otherwise depmod will use `uname -r'. if test -w $out/lib/modules/$kernelVersion; then rm -f $out/lib/modules/$kernelVersion/modules.* - MODULE_DIR=$out/lib/modules/ ${module_init_tools}/sbin/depmod -a $kernelVersion + ${kmod}/sbin/depmod -b $out -a $kernelVersion fi ''; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cdd240d89b85..9c7470796705 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6647,8 +6647,8 @@ let mountall = callPackage ../os-specific/linux/mountall { }; aggregateModules = modules: - import ../os-specific/linux/module-init-tools/aggregator.nix { - inherit stdenv module_init_tools modules buildEnv; + callPackage ../os-specific/linux/kmod/aggregator.nix { + inherit modules; }; multipath_tools = callPackage ../os-specific/linux/multipath-tools { }; From f4681d8e08092353a58c36e6ae79509719b1e25c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 9 Aug 2013 18:47:09 +0200 Subject: [PATCH 04/44] virtualbox: Update to 4.2.16 --- pkgs/applications/virtualization/virtualbox/default.nix | 8 ++++---- .../virtualization/virtualbox/guest-additions/default.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 264f1259fe54..724dc6ca16e9 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -11,7 +11,7 @@ with stdenv.lib; let - version = "4.2.14"; # changes ./guest-additions as well + version = "4.2.16"; # changes ./guest-additions as well forEachModule = action: '' for mod in \ @@ -31,11 +31,11 @@ let ''; # See https://github.com/NixOS/nixpkgs/issues/672 for details - extpackRevision = "86644"; + extpackRevision = "86992"; extensionPack = requireFile rec { name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack"; # Has to be base16 because it's used as an input to VBoxExtPackHelperApp! - sha256 = "5813cae72790de4893cadb839ffbd148290a44ec6913d901d84c9b3740ab1b1e"; + sha256 = "03gsl0548hrcspl5mi7snng08phwd3vfn6qmx41h2xwvwvmv324g"; message = '' In order to use the extension pack, you need to comply with the VirtualBox Personal Use and Evaluation License (PUEL) by downloading the related binaries from: @@ -54,7 +54,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; - sha256 = "038k65cdvr80da5nfan5r3rjrnxqab2fbf2pr2jq8g1gc4cxrxpq"; + sha256 = "0nnl8qh8j4sk5zn78hrp6ccidmk332p7qg6pv5a0a4irs0b8j3zz"; }; buildInputs = diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index e7843b07fc34..cca133685f60 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso"; - sha256 = "9f08f13bbd818fb3ef9916658542ad0999c35e11afc1f6e8ff0b944405486e8a"; + sha256 = "1id0rb2sdnn34rvjl2v3hp3z9g9c4s4f4kl1lx0myjlqv8i0fayg"; }; KERN_DIR = "${kernelDev}/lib/modules/*/build"; From 67a46ce928c9190c9b11982120000df711ef1945 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Fri, 9 Aug 2013 21:52:58 +0200 Subject: [PATCH 05/44] Add taskjuggler ruby gem Unfortunately, this changes lots of unrelated gems. --- .../interpreters/ruby/generated.nix | 195 +++++++++--------- 1 file changed, 97 insertions(+), 98 deletions(-) diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix index 7446e52704c8..ff0bcf235aeb 100644 --- a/pkgs/development/interpreters/ruby/generated.nix +++ b/pkgs/development/interpreters/ruby/generated.nix @@ -12,10 +12,10 @@ g: # Get dependencies from patched gems activesupport = g.activesupport_4_0_0; addressable = g.addressable_2_3_5; arel = g.arel_4_0_0; - atomic = g.atomic_1_1_10; + atomic = g.atomic_1_1_12; atoulme_Antwrap = g.atoulme_Antwrap_0_7_4; autotest_rails = g.autotest_rails_4_1_2; - aws_sdk = g.aws_sdk_1_12_0; + aws_sdk = g.aws_sdk_1_14_1; bitbucket_backup = g.bitbucket_backup_0_2_2; builder = g.builder_3_2_2; buildr = g.buildr_1_4_12; @@ -31,9 +31,8 @@ g: # Get dependencies from patched gems erubis = g.erubis_2_7_0; eventmachine = g.eventmachine_1_0_3; eventmachine_tail = g.eventmachine_tail_0_6_4; - execjs = g.execjs_1_4_0; fakes3 = g.fakes3_0_1_5; - faraday = g.faraday_0_8_7; + faraday = g.faraday_0_8_8; faraday_middleware = g.faraday_middleware_0_8_8; ffi = g.ffi_1_9_0; file_tail = g.file_tail_1_0_12; @@ -46,10 +45,9 @@ g: # Get dependencies from patched gems i18n = g.i18n_0_6_4; iconv = g.iconv_1_0_3; jruby_pageant = g.jruby_pageant_1_1_1; - jsduck = g.jsduck_4_10_4; + jsduck = g.jsduck_5_0_1; json = g.json_1_8_0; json_pure = g.json_pure_1_8_0; - libv8 = g.libv8_3_11_8_17_x86_64_linux; locale = g.locale_2_0_8; lockfile = g.lockfile_2_1_0; macaddr = g.macaddr_1_6_1; @@ -59,10 +57,10 @@ g: # Get dependencies from patched gems mini_portile = g.mini_portile_0_5_1; minitar = g.minitar_0_5_3; minitest = g.minitest_4_7_5; - multi_json = g.multi_json_1_7_7; + multi_json = g.multi_json_1_7_8; multipart_post = g.multipart_post_1_2_0; - net_http_digest_auth = g.net_http_digest_auth_1_3; - net_http_persistent = g.net_http_persistent_2_8; + net_http_digest_auth = g.net_http_digest_auth_1_4; + net_http_persistent = g.net_http_persistent_2_9; net_sftp = g.net_sftp_2_0_5; net_ssh = g.net_ssh_2_6_8; nix = g.nix_0_1_1; @@ -80,11 +78,11 @@ g: # Get dependencies from patched gems rake = g.rake_10_1_0; rb_fsevent = g.rb_fsevent_0_9_3; rdiscount = g.rdiscount_2_1_6; - ref = g.ref_1_0_5; remote_syslog = g.remote_syslog_1_6_14; right_aws = g.right_aws_3_1_0; right_http_connection = g.right_http_connection_1_4_0; rjb = g.rjb_1_4_8; + rkelly_remix = g.rkelly_remix_0_0_4; rmail = g.rmail_1_0_0; rspec = g.rspec_2_11_0; rspec_core = g.rspec_core_2_11_1; @@ -92,19 +90,20 @@ g: # Get dependencies from patched gems rspec_mocks = g.rspec_mocks_2_11_3; rubyforge = g.rubyforge_2_0_4; rubyzip = g.rubyzip_0_9_9; - sass = g.sass_3_2_9; - selenium_webdriver = g.selenium_webdriver_2_33_0; + sass = g.sass_3_2_10; + selenium_webdriver = g.selenium_webdriver_2_34_0; servolux = g.servolux_0_10_0; sinatra = g.sinatra_1_3_2; sprockets = g.sprockets_2_10_0; sprockets_rails = g.sprockets_rails_2_0_0; syslog_protocol = g.syslog_protocol_0_9_2; systemu = g.systemu_2_5_2; + taskjuggler = g.taskjuggler_3_5_0; + term_ansicolor = g.term_ansicolor_1_2_2; text = g.text_1_2_1; - therubyracer = g.therubyracer_0_11_4; thin = g.thin_1_5_1; thor = g.thor_0_18_1; - thread_safe = g.thread_safe_0_1_0; + thread_safe = g.thread_safe_0_1_2; tilt = g.tilt_1_4_1; tins = g.tins_0_8_3; treetop = g.treetop_1_4_14; @@ -121,7 +120,7 @@ g: # Get dependencies from patched gems xml_simple = g.xml_simple_1_1_1; yajl_ruby = g.yajl_ruby_1_1_0; }; - gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''remote_syslog'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''thin'' ''trollop'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ]; + gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''remote_syslog'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''thin'' ''trollop'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ]; gems = { ZenTest_4_9_2 = { basename = ''ZenTest''; @@ -217,7 +216,7 @@ installed versions.''; longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.''; }; name = ''activesupport-4.0.0''; - requiredGems = [ g.i18n_0_6_4 g.multi_json_1_7_7 g.tzinfo_0_3_37 g.minitest_4_7_5 g.thread_safe_0_1_0 ]; + requiredGems = [ g.i18n_0_6_4 g.multi_json_1_7_8 g.tzinfo_0_3_37 g.minitest_4_7_5 g.thread_safe_0_1_2 ]; sha256 = ''0agxkvjhhv6r9rpm0lcgjny4sn1ihhvhlgs46rgi3fz0y1d93ids''; }; addressable_2_3_5 = { @@ -252,16 +251,16 @@ database compatibility and query generation.''; requiredGems = [ ]; sha256 = ''19xzg8jhp4p18xlf6sp4yhf6vdpc3hl8lm23n6glikclm7rvgick''; }; - atomic_1_1_10 = { + atomic_1_1_12 = { basename = ''atomic''; meta = { description = ''An atomic reference implementation for JRuby, Rubinius, and MRI''; homepage = ''http://github.com/headius/ruby-atomic''; longDescription = ''An atomic reference implementation for JRuby, Rubinius, and MRI''; }; - name = ''atomic-1.1.10''; + name = ''atomic-1.1.12''; requiredGems = [ ]; - sha256 = ''0ms6b2f9hij6bap901ra2wx7lk4y2bsasifcqr7m3z8l5my372jh''; + sha256 = ''038kihswmzlzsc96r3qg5g0khdg5lywjk2nz32i7l6j85lpg233v''; }; atoulme_Antwrap_0_7_4 = { basename = ''atoulme_Antwrap''; @@ -297,16 +296,16 @@ rails support and extra plugins for migrations and fixtures.''; requiredGems = [ g.ZenTest_4_9_2 ]; sha256 = ''1wkb5jayb39yx0i8ly7sibygf9f9c3w24jg2z1qgm135zlb070v4''; }; - aws_sdk_1_12_0 = { + aws_sdk_1_14_1 = { basename = ''aws_sdk''; meta = { description = ''AWS SDK for Ruby''; homepage = ''http://aws.amazon.com/sdkforruby''; longDescription = ''AWS SDK for Ruby''; }; - name = ''aws-sdk-1.12.0''; + name = ''aws-sdk-1.14.1''; requiredGems = [ g.uuidtools_2_1_4 g.nokogiri_1_5_10 g.json_1_8_0 ]; - sha256 = ''0ijz5ch7ch5kj19j5caf5h3hdfmmny9v9clkdh664cr46ylvkv3n''; + sha256 = ''18lvxnkb7xb2q7z5ifz9j2b9v17r6fd04s83pac7598s3zj6k4na''; }; bitbucket_backup_0_2_2 = { basename = ''bitbucket_backup''; @@ -553,17 +552,6 @@ using TCP/IP, especially if custom protocols are required.''; requiredGems = [ g.eventmachine_1_0_3 ]; sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61''; }; - execjs_1_4_0 = { - basename = ''execjs''; - meta = { - description = ''Run JavaScript code from Ruby''; - homepage = ''https://github.com/sstephenson/execjs''; - longDescription = ''ExecJS lets you run JavaScript code from Ruby.''; - }; - name = ''execjs-1.4.0''; - requiredGems = [ g.multi_json_1_7_7 ]; - sha256 = ''0b69ci2afbcdqsri3i89a7s7j7palxsxdb65x6h2wx79kzlc5xcs''; - }; fakes3_0_1_5 = { basename = ''fakes3''; meta = { @@ -574,15 +562,15 @@ using TCP/IP, especially if custom protocols are required.''; requiredGems = [ g.thor_0_18_1 g.builder_3_2_2 ]; sha256 = ''1na5wrbarla6s414svqmr5spbpv6vmcgpswal444x4clcpmadhib''; }; - faraday_0_8_7 = { + faraday_0_8_8 = { basename = ''faraday''; meta = { description = ''HTTP/REST API client library.''; homepage = ''https://github.com/lostisland/faraday''; }; - name = ''faraday-0.8.7''; + name = ''faraday-0.8.8''; requiredGems = [ g.multipart_post_1_2_0 ]; - sha256 = ''186a9md3ixanl2crdlw37kspw5wiyw16z9mj3aw8rd1yd5q56ddi''; + sha256 = ''no hash''; }; faraday_middleware_0_8_8 = { basename = ''faraday_middleware''; @@ -592,7 +580,7 @@ using TCP/IP, especially if custom protocols are required.''; longDescription = ''Various middleware for Faraday''; }; name = ''faraday_middleware-0.8.8''; - requiredGems = [ g.faraday_0_8_7 ]; + requiredGems = [ g.faraday_0_8_8 ]; sha256 = ''1n0g8pm7ynx6ffyqhscc1cqw97zhvd8isr31yfyj15335j1jsncz''; }; ffi_1_9_0 = { @@ -747,16 +735,16 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf''; requiredGems = [ ]; sha256 = ''1kgqsn0bagr41gf5kbqaxbs38a7s5bm85m0pdx4qz7d70v9nc9cl''; }; - jsduck_4_10_4 = { + jsduck_5_0_1 = { basename = ''jsduck''; meta = { description = ''Simple JavaScript Duckumentation generator''; homepage = ''https://github.com/senchalabs/jsduck''; longDescription = ''Documentation generator for Sencha JS frameworks''; }; - name = ''jsduck-4.10.4''; - requiredGems = [ g.rdiscount_2_1_6 g.json_1_8_0 g.parallel_0_7_1 g.execjs_1_4_0 g.therubyracer_0_11_4 g.dimensions_1_2_0 ]; - sha256 = ''1xnad96wmszz0m66wrwciihba6whpg8bglwkbazrifxh9kcw7wih''; + name = ''jsduck-5.0.1''; + requiredGems = [ g.rdiscount_2_1_6 g.json_1_8_0 g.parallel_0_7_1 g.rkelly_remix_0_0_4 g.dimensions_1_2_0 ]; + sha256 = ''0py1ik9jri5f230ifqxv0y0p4w0dp5jp8a9hfzgzaz4xvpzqyf7h''; }; json_1_8_0 = { basename = ''json''; @@ -791,17 +779,6 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf''; requiredGems = [ ]; sha256 = ''0kkn5zhiffav2cffj43wwvzj07825r4j463ilfjgik034vnbjs83''; }; - libv8_3_11_8_17_x86_64_linux = { - basename = ''libv8''; - meta = { - description = ''Distribution of the V8 JavaScript engine''; - homepage = ''http://github.com/cowboyd/libv8''; - longDescription = ''Distributes the V8 JavaScript engine in binary and source forms in order to support fast builds of The Ruby Racer''; - }; - name = ''libv8-3.11.8.17-x86_64-linux''; - requiredGems = [ ]; - sha256 = ''1s2j79rm2idny701l6rsnig6451w2wfipgmfvxf05d1syn14cmg9''; - }; locale_2_0_8 = { basename = ''locale''; meta = { @@ -859,7 +836,7 @@ submitted. Mechanize also keeps track of the sites that you have visited as a history.''; }; name = ''mechanize-2.7.1''; - requiredGems = [ g.net_http_digest_auth_1_3 g.net_http_persistent_2_8 g.mime_types_1_23 g.http_cookie_1_0_1 g.nokogiri_1_6_0 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_12 ]; + requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9 g.mime_types_1_23 g.http_cookie_1_0_1 g.nokogiri_1_6_0 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_12 ]; sha256 = ''0abcrabsjamp4fjbizp4dv8nkz7jv03r9n0lpn9yypb48ij876vh''; }; mime_types_1_23 = { @@ -979,16 +956,16 @@ extract-method refactorings still apply.''; requiredGems = [ ]; sha256 = ''03p6iban9gcpcflzp4z901s1hgj9369p6515h967ny6hlqhcf2iy''; }; - multi_json_1_7_7 = { + multi_json_1_7_8 = { basename = ''multi_json''; meta = { description = ''A common interface to multiple JSON libraries.''; homepage = ''http://github.com/intridea/multi_json''; longDescription = ''A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson.''; }; - name = ''multi_json-1.7.7''; + name = ''multi_json-1.7.8''; requiredGems = [ ]; - sha256 = ''1w3fpi52h4a7r0a670xzrwa40l5irh69r45cbvxw24bsp19sfxzr''; + sha256 = ''no hash''; }; multipart_post_1_2_0 = { basename = ''multipart_post''; @@ -1001,7 +978,7 @@ extract-method refactorings still apply.''; requiredGems = [ ]; sha256 = ''12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc''; }; - net_http_digest_auth_1_3 = { + net_http_digest_auth_1_4 = { basename = ''net_http_digest_auth''; meta = { description = ''An implementation of RFC 2617 - Digest Access Authentication''; @@ -1014,11 +991,11 @@ In order to use net-http-digest_auth you'll need to perform some request wrangling on your own. See the class documentation at Net::HTTP::DigestAuth for an example.''; }; - name = ''net-http-digest_auth-1.3''; + name = ''net-http-digest_auth-1.4''; requiredGems = [ ]; - sha256 = ''11hn4fb02rx799ck1gghmz7b32977zbi9sz2jpfyz43igwz2dvzy''; + sha256 = ''14801gr34g0rmqz9pv4rkfa3crfdbyfk6r48vpg5a5407v0sixqi''; }; - net_http_persistent_2_8 = { + net_http_persistent_2_9 = { basename = ''net_http_persistent''; meta = { description = ''Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8''; @@ -1034,9 +1011,9 @@ Net::HTTP supports persistent connections with some API methods but does not handle reconnection gracefully. Net::HTTP::Persistent supports reconnection and retry according to RFC 2616.''; }; - name = ''net-http-persistent-2.8''; + name = ''net-http-persistent-2.9''; requiredGems = [ ]; - sha256 = ''1y50ssi8lcxfady4wwy242sgsr1424g5rg3wpav6kqc9rba74v9l''; + sha256 = ''0k9bp7q5fsh908jnkwfj71ky04i4ih0ky6sqi5vl6zcpjsczgfcb''; }; net_sftp_2_0_5 = { basename = ''net_sftp''; @@ -1110,7 +1087,7 @@ enough of it.''; }; name = ''nokogiri-1.6.0''; requiredGems = [ g.mini_portile_0_5_1 ]; - sha256 = ''1icrny9w2hd0pm7cyq5wqdkbzr57dkma1lbyrr0x14lsnangkidb''; + sha256 = ''no hash''; }; ntlm_http_0_1_1 = { basename = ''ntlm_http''; @@ -1131,7 +1108,7 @@ enough of it.''; longDescription = ''Command-line client for Papertrail hosted log management service. Tails and searches app server logs and system syslog. Supports Boolean search and works with grep and pipe output (Unix).''; }; name = ''papertrail-0.9.7''; - requiredGems = [ g.addressable_2_3_5 g.yajl_ruby_1_1_0 g.chronic_0_9_1 g.faraday_0_8_7 g.faraday_middleware_0_8_8 ]; + requiredGems = [ g.addressable_2_3_5 g.yajl_ruby_1_1_0 g.chronic_0_9_1 g.faraday_0_8_8 g.faraday_middleware_0_8_8 ]; sha256 = ''0v0m1v0qabbr9pmyl77znz39qy1m7p0xwvf3lf9hyq6n524f2dwr''; }; papertrail_cli_0_9_3 = { @@ -1288,17 +1265,6 @@ request helpers feature.''; requiredGems = [ ]; sha256 = ''180ln9gwxn0cyflg0i1viv7jyalmjqvqr34cb65xsmmsz1nz55q2''; }; - ref_1_0_5 = { - basename = ''ref''; - meta = { - description = ''Library that implements weak, soft, and strong references in Ruby.''; - homepage = ''http://github.com/bdurand/ref''; - longDescription = ''Library that implements weak, soft, and strong references in Ruby that work across multiple runtimes (MRI, REE, YARV, Jruby, Rubinius, and IronRuby). Also includes implementation of maps/hashes that use references and a reference queue.''; - }; - name = ''ref-1.0.5''; - requiredGems = [ ]; - sha256 = ''19qgpsfszwc2sfh6wixgky5agn831qq8ap854i1jqqhy1zsci3la''; - }; remote_syslog_1_6_14 = { basename = ''remote_syslog''; meta = { @@ -1401,6 +1367,19 @@ algorithm for low-level network errors. requiredGems = [ ]; sha256 = ''06ps4ssaxb8jwja53h7v7kb31hsdr997b8na89d1yasm5zyraliw''; }; + rkelly_remix_0_0_4 = { + basename = ''rkelly_remix''; + meta = { + description = ''Fork of the RKelly library to make it suitable as the JavaScript parser in JSDuck''; + longDescription = ''Fork of the RKelly library to make it suitable as the JavaScript parser +in JSDuck. + +* http://rkelly.rubyforge.org/''; + }; + name = ''rkelly-remix-0.0.4''; + requiredGems = [ ]; + sha256 = ''1w6yr5n3b8yd0rsba9q3zyxr0n2hbpkz4v2k1qx6j1ywvl9rc2c1''; + }; rmail_1_0_0 = { basename = ''rmail''; meta = { @@ -1484,7 +1463,7 @@ algorithm for low-level network errors. requiredGems = [ ]; sha256 = ''1khf6d903agnwd8965f5f8b353rzmfvygxp53z1199rqzw8h46q2''; }; - sass_3_2_9 = { + sass_3_2_10 = { basename = ''sass''; meta = { description = ''A powerful but elegant CSS compiler that makes CSS fun again.''; @@ -1495,20 +1474,20 @@ algorithm for low-level network errors. command line tool or a web-framework plugin. ''; }; - name = ''sass-3.2.9''; + name = ''sass-3.2.10''; requiredGems = [ ]; - sha256 = ''08lvbi4siavvci0g4m65576axcagw23i0iamdqv33kwdimik717q''; + sha256 = ''0anfff4hz8fz1wbimmp9vv4mjfl1swg7ww74j549788x41l4x283''; }; - selenium_webdriver_2_33_0 = { + selenium_webdriver_2_34_0 = { basename = ''selenium_webdriver''; meta = { description = ''The next generation developer focused tool for automated testing of webapps''; homepage = ''http://selenium.googlecode.com''; longDescription = ''WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.''; }; - name = ''selenium-webdriver-2.33.0''; - requiredGems = [ g.multi_json_1_7_7 g.rubyzip_0_9_9 g.childprocess_0_3_9 g.websocket_1_0_7 ]; - sha256 = ''000fpc5vaf268g96vmqq9vlg8fgyh78290agayrk9qkds8i8cr5d''; + name = ''selenium-webdriver-2.34.0''; + requiredGems = [ g.multi_json_1_7_8 g.rubyzip_0_9_9 g.childprocess_0_3_9 g.websocket_1_0_7 ]; + sha256 = ''02wh008b03ixhpp853rmviq6xfk8100ka1g66wb2vsghajs6l1hx''; }; servolux_0_10_0 = { basename = ''servolux''; @@ -1543,7 +1522,7 @@ interpreters.''; longDescription = ''Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.''; }; name = ''sprockets-2.10.0''; - requiredGems = [ g.hike_1_2_3 g.multi_json_1_7_7 g.rack_1_5_2 g.tilt_1_4_1 ]; + requiredGems = [ g.hike_1_2_3 g.multi_json_1_7_8 g.rack_1_5_2 g.tilt_1_4_1 ]; sha256 = ''1z0kiaymvqm07wqqy479vd8a60ggr3f3520b4splljbn2055fn3s''; }; sprockets_rails_2_0_0 = { @@ -1578,6 +1557,37 @@ interpreters.''; requiredGems = [ ]; sha256 = ''0h834ajdg9w4xrijp31fn98pjfj08gi08xjvp5xh3i6hz9a25fhr''; }; + taskjuggler_3_5_0 = { + basename = ''taskjuggler''; + meta = { + description = ''A Project Management Software''; + homepage = ''http://www.taskjuggler.org''; + longDescription = ''TaskJuggler is a modern and powerful, Free and Open Source Software project +management tool. Its new approach to project planing and tracking is more +flexible and superior to the commonly used Gantt chart editing tools. + +TaskJuggler is project management software for serious project managers. It +covers the complete spectrum of project management tasks from the first idea +to the completion of the project. It assists you during project scoping, +resource assignment, cost and revenue planing, risk and communication +management. +''; + }; + name = ''taskjuggler-3.5.0''; + requiredGems = [ g.mail_2_5_4 g.term_ansicolor_1_2_2 ]; + sha256 = ''0r84rlc7a6w7p9nc9mgycbs5h0hq0kzscjq7zj3296xyf0afiwj2''; + }; + term_ansicolor_1_2_2 = { + basename = ''term_ansicolor''; + meta = { + description = ''Ruby library that colors strings using ANSI escape sequences''; + homepage = ''http://flori.github.com/term-ansicolor''; + longDescription = ''This library uses ANSI escape sequences to control the attributes of terminal output''; + }; + name = ''term-ansicolor-1.2.2''; + requiredGems = [ g.tins_0_8_3 ]; + sha256 = ''1b41q1q6mqcgzq9fhzhmjvfg5sfs5v7gkb8z57r4hajcp89lflxr''; + }; text_1_2_1 = { basename = ''text''; meta = { @@ -1589,17 +1599,6 @@ interpreters.''; requiredGems = [ ]; sha256 = ''0s186kh125imdr7dahr10payc1gmxgk6wjy1v3agdyvl53yn5z3z''; }; - therubyracer_0_11_4 = { - basename = ''therubyracer''; - meta = { - description = ''Embed the V8 JavaScript interpreter into Ruby''; - homepage = ''http://github.com/cowboyd/therubyracer''; - longDescription = ''Call JavaScript code and manipulate JavaScript objects from Ruby. Call Ruby code and manipulate Ruby objects from JavaScript.''; - }; - name = ''therubyracer-0.11.4''; - requiredGems = [ g.ref_1_0_5 g.libv8_3_11_8_17_x86_64_linux ]; - sha256 = ''15n9zi9jzb5k34id9xfkxx39y0nap7a4h02z8r00msjjajxag3iq''; - }; thin_1_5_1 = { basename = ''thin''; meta = { @@ -1622,16 +1621,16 @@ interpreters.''; requiredGems = [ ]; sha256 = ''0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3''; }; - thread_safe_0_1_0 = { + thread_safe_0_1_2 = { basename = ''thread_safe''; meta = { description = ''A collection of data structures and utilities to make thread-safe programming in Ruby easier''; homepage = ''https://github.com/headius/thread_safe''; longDescription = ''Thread-safe collections and utilities for Ruby''; }; - name = ''thread_safe-0.1.0''; - requiredGems = [ g.atomic_1_1_10 ]; - sha256 = ''0fhx4110il4iiij5wdfq3afn0wvsz7pdvmx5v2zv24gah1861rsf''; + name = ''thread_safe-0.1.2''; + requiredGems = [ g.atomic_1_1_12 ]; + sha256 = ''1bxyh5l11inadbk7pjyz5s98g24qj8xavh55bc56nrzj51y9aavy''; }; tilt_1_4_1 = { basename = ''tilt''; From 14c5f6bd746440b3dedbc778463f6d0c8260e0d4 Mon Sep 17 00:00:00 2001 From: Bodil Stokke Date: Sat, 10 Aug 2013 01:21:25 +0200 Subject: [PATCH 06/44] Adding ponysay. --- pkgs/tools/misc/ponysay/default.nix | 30 +++++++++++++++++++++++++++ pkgs/tools/misc/ponysay/pathfix.patch | 24 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 56 insertions(+) create mode 100644 pkgs/tools/misc/ponysay/default.nix create mode 100644 pkgs/tools/misc/ponysay/pathfix.patch diff --git a/pkgs/tools/misc/ponysay/default.nix b/pkgs/tools/misc/ponysay/default.nix new file mode 100644 index 000000000000..1f281a713011 --- /dev/null +++ b/pkgs/tools/misc/ponysay/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, python3, texinfo, makeWrapper }: + +stdenv.mkDerivation rec { + name = "ponysay-3.0.1"; + + src = fetchurl { + url = "https://github.com/erkin/ponysay/archive/3.0.1.tar.gz"; + sha256 = "ab281f43510263b2f42a1b0a9097ee7831b3e33a9034778ecb12ccb51f6915ee"; + }; + + buildInputs = [ python3 texinfo makeWrapper ]; + + phases = "unpackPhase patchPhase installPhase"; + + patches = [ ./pathfix.patch ]; + + installPhase = '' + python3 setup.py --prefix=$out --freedom=partial install --with-shared-cache=$out/share/ponysay + for i in $(cd $out/bin && ls); do + wrapProgram $out/bin/$i \ + --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH" + done + ''; + + meta = { + description = "cowsay reimplemention for ponies."; + homepage = http://terse.tk/ponysay/; + license = "GPLv3"; + }; +} diff --git a/pkgs/tools/misc/ponysay/pathfix.patch b/pkgs/tools/misc/ponysay/pathfix.patch new file mode 100644 index 000000000000..ad50f6530247 --- /dev/null +++ b/pkgs/tools/misc/ponysay/pathfix.patch @@ -0,0 +1,24 @@ +diff -urN ponysay-3.0.1/setup.py ponysay.p/setup.py +--- ponysay-3.0.1/setup.py 2013-04-05 14:28:18.000000000 +0200 ++++ ponysay.p/setup.py 2013-08-10 01:09:30.181043877 +0200 +@@ -514,7 +514,7 @@ + for command in commands: + sourceed = 'completion/ponysay.%s' % (command) + generated = 'completion/%s-completion.%s' % (shell, command) +- generatorcmd = './completion/auto-auto-complete.py %s --output %s --source %s' % (shell, generated, sourceed) ++ generatorcmd = 'python3 completion/auto-auto-complete.py %s --output %s --source %s' % (shell, generated, sourceed) + Popen(generatorcmd.split(' ')).communicate() + if conf[command] is not None: + dest = generated + '.install' +@@ -559,9 +559,9 @@ + for toolcommand in ('--dimensions', '--metadata'): + if not self.free: + print('%s, %s, %s' % ('./src/ponysaytool.py', toolcommand, sharedir)) +- Popen(['./src/ponysaytool.py', toolcommand, sharedir], stdin=PIPE, stdout=PIPE, stderr=PIPE).communicate() ++ Popen(['python3', './src/ponysaytool.py', toolcommand, sharedir], stdin=PIPE, stdout=PIPE, stderr=PIPE).communicate() + else: +- params = ['./src/ponysaytool.py', toolcommand, sharedir, '--'] ++ params = ['python3', './src/ponysaytool.py', toolcommand, sharedir, '--'] + for sharefile in os.listdir(sharedir): + if sharefile.endswith('.pony') and (sharefile != '.pony'): + if not Setup.validateFreedom(sharedir + '/' + sharefile): diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9c7470796705..249be7cb90d4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1526,6 +1526,8 @@ let polkit_gnome = callPackage ../tools/security/polkit-gnome { }; + ponysay = callPackage ../tools/misc/ponysay { }; + povray = callPackage ../tools/graphics/povray { }; ppl = callPackage ../development/libraries/ppl { }; From 3c6b2f7501529603b0e9588e1292208154711eb2 Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Sat, 10 Aug 2013 02:32:21 +0200 Subject: [PATCH 07/44] vifm: update to 0.7.5 and enabling new options --- pkgs/applications/misc/vifm/default.nix | 53 +++++++++---------------- pkgs/top-level/all-packages.nix | 4 +- 2 files changed, 21 insertions(+), 36 deletions(-) diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix index 6f270f5c7cf2..7230e84601e4 100644 --- a/pkgs/applications/misc/vifm/default.nix +++ b/pkgs/applications/misc/vifm/default.nix @@ -1,48 +1,31 @@ -x@{builderDefsPackage - , ncurses - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; +{ pkgs, fetchurl, stdenv, ncurses, utillinux, file, libX11 }: - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="vifm"; - version="0.6.3"; - name="${baseName}-${version}"; - url="mirror://sourceforge/project/${baseName}/${baseName}/${name}.tar.bz2"; - hash="1v5kiifjk7iyqrzjd94wn6a5dz4j3krl06pbp1ps9g3zdq2w2skv"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; +let + name = "vifm-${version}"; + version = "0.7.5"; + +in stdenv.mkDerivation { + inherit name; + + src = fetchurl { + url="mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2"; + sha256 ="1r1d92zrff94rfx011dw2qsgdwd2ksqlz15la74d6h7sfcsnyd01"; }; - inherit (sourceInfo) name version; - inherit buildInputs; + #phaseNames = ["doConfigure" "doMakeInstall"]; + buildInputs = [ utillinux ncurses file libX11 ]; - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; - meta = { description = "A vi-like file manager"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; - license = a.lib.licenses.gpl2; + maintainers = with pkgs.lib.maintainers; [ raskin garbas ]; + platforms = pkgs.lib.platforms.linux; + license = pkgs.lib.licenses.gpl2; }; + passthru = { updateInfo = { downloadPage = "http://vifm.sf.net"; }; }; -}) x +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 249be7cb90d4..f13b150bd173 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1830,7 +1830,9 @@ let vfdecrypt = callPackage ../tools/misc/vfdecrypt { }; - vifm = callPackage ../applications/misc/vifm {}; + vifm = callPackage ../applications/misc/vifm { + inherit (xlibs) libX11; + }; viking = callPackage ../applications/misc/viking { inherit (gnome) scrollkeeper; From 3cd37b550b80adee64e68065c835743651407ecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Sat, 8 Dec 2012 11:52:54 +0100 Subject: [PATCH 08/44] Steam: first attempt at adding the beta client. The script installed with this expression only copies a boostrapper and another script to the user's home folder. Those also need to be patched to get on with the installation. --- pkgs/games/steam/default.nix | 37 +++++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 39 insertions(+) create mode 100644 pkgs/games/steam/default.nix diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix new file mode 100644 index 000000000000..3dbeed83885b --- /dev/null +++ b/pkgs/games/steam/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, dpkg, makeWrapper, xz }: + +assert stdenv.system == "i686-linux"; + +let version = "1.0.0.16"; in + +stdenv.mkDerivation rec { + name = "steam-${version}"; + + src = fetchurl { + url = "http://media.steampowered.com/client/installer/steam.deb"; + sha256 = "0mx92f9hjjpg3blgmgp8sz0f3jg7m9hssdscipwybks258k8926m"; + }; + + buildInputs = [ dpkg makeWrapper xz ]; + + phases = "installPhase"; + + installPhase = '' + mkdir -p $out + dpkg-deb -x $src $out + mv $out/usr/* $out/ + rmdir $out/usr + substituteInPlace "$out/bin/steam" --replace "/bin/bash" "/bin/sh" + substituteInPlace "$out/bin/steam" --replace "/usr/" "$out/" + substituteInPlace "$out/bin/steam" --replace "\`basename \$0\`" "steam" + sed -i '/jockey-common/d' $out/bin/steam + wrapProgram "$out/bin/steam" --prefix PATH ":" \ + "${xz}/bin" + ''; + + meta = { + description = "A digital distribution platform"; + homepage = http://store.steampowered.com/; + license = "unfree"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 249be7cb90d4..5c1eaf6e4f0c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9032,6 +9032,8 @@ let stardust = callPackage ../games/stardust {}; + steam = callPackage_i686 ../games/steam {}; + stuntrally = callPackage ../games/stuntrally { }; superTux = callPackage ../games/super-tux { }; From 12a0d83855bdc7129163d6926da245141c4d9866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Sun, 9 Dec 2012 10:24:50 +0100 Subject: [PATCH 09/44] Steam: add patch for user stuff and lib paths to wrapProgram. The binaries that get copied to $HOME need patchelf to run, and after that I need all the runtime libs in the library path. Still not working as I need glibc2.15. --- pkgs/games/steam/default.nix | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 3dbeed83885b..08bd9a14896d 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, dpkg, makeWrapper, xz }: +{ stdenv, fetchurl, dpkg, makeWrapper, xz, libX11, gcc +,patchelf }: assert stdenv.system == "i686-linux"; @@ -12,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "0mx92f9hjjpg3blgmgp8sz0f3jg7m9hssdscipwybks258k8926m"; }; - buildInputs = [ dpkg makeWrapper xz ]; + buildInputs = [ dpkg makeWrapper ]; phases = "installPhase"; @@ -25,8 +26,22 @@ stdenv.mkDerivation rec { substituteInPlace "$out/bin/steam" --replace "/usr/" "$out/" substituteInPlace "$out/bin/steam" --replace "\`basename \$0\`" "steam" sed -i '/jockey-common/d' $out/bin/steam - wrapProgram "$out/bin/steam" --prefix PATH ":" \ - "${xz}/bin" + wrapProgram "$out/bin/steam" \ + --prefix PATH ":" "${xz}/bin" \ + --prefix LD_LIBRARY_PATH : ${libX11}/lib:${gcc.gcc}/lib + + mkdir -p $out/patches + cat > $out/patches/post-install.sh << EOF + #!${stdenv.shell} + + # post-install script to patch stuff at \$HOME + PATH=\$PATH:${patchelf}/bin + sed -i 's/bash/sh/' \$HOME/.local/share/Steam/steam.sh + patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + \$HOME/.local/share/Steam/ubuntu12_32/steam + EOF + + chmod +x $out/patches/post-install.sh ''; meta = { From ee6129350e2b16caa3ba514b7f1b941886dd296f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Mon, 10 Dec 2012 23:31:57 +0100 Subject: [PATCH 10/44] steam: add glibc215 to the wrapper. --- pkgs/games/steam/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 08bd9a14896d..2a54d2d53ff9 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, dpkg, makeWrapper, xz, libX11, gcc +{ stdenv, fetchurl, dpkg, makeWrapper, xz, libX11, gcc, glibc215 ,patchelf }: assert stdenv.system == "i686-linux"; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { sed -i '/jockey-common/d' $out/bin/steam wrapProgram "$out/bin/steam" \ --prefix PATH ":" "${xz}/bin" \ - --prefix LD_LIBRARY_PATH : ${libX11}/lib:${gcc.gcc}/lib + --prefix LD_LIBRARY_PATH : ${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib mkdir -p $out/patches cat > $out/patches/post-install.sh << EOF From dad0ed4eaaac01a0d374a3b854c99145d9815e3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Wed, 12 Dec 2012 18:12:13 +0100 Subject: [PATCH 11/44] steam: add all the missing dependancies. Calling their steam script still segfaults, but I managed to run it from the shell with all these deps in the lib path. --- pkgs/games/steam/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 2a54d2d53ff9..63f820bbe00b 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -1,5 +1,8 @@ { stdenv, fetchurl, dpkg, makeWrapper, xz, libX11, gcc, glibc215 -,patchelf }: +, libselinux, libXrandr, pango, freetype, fontconfig, glib, gtk +, gdk_pixbuf, cairo, libXi, alsaLib, libXrender, nss, nspr, zlib +, dbus, libpng12, libXfixes, cups, libgcrypt, openal, pulseaudio +, patchelf }: assert stdenv.system == "i686-linux"; @@ -28,7 +31,7 @@ stdenv.mkDerivation rec { sed -i '/jockey-common/d' $out/bin/steam wrapProgram "$out/bin/steam" \ --prefix PATH ":" "${xz}/bin" \ - --prefix LD_LIBRARY_PATH : ${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib + --prefix LD_LIBRARY_PATH : ${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib mkdir -p $out/patches cat > $out/patches/post-install.sh << EOF From b07300f2ef3cee6b8718fa2fd0360a60d32e5924 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Thu, 27 Dec 2012 12:01:07 +0100 Subject: [PATCH 12/44] steam: bypass valve's bootstrapper. Since there is no way to modify either steam.sh or the steam binary as they are hash checked, I took the approach of bypassing steam.sh and create a script that does its job. For now it segfaults, but when I try to run under strace, it works perfectly. Need to check this. --- pkgs/games/steam/default.nix | 42 +++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 63f820bbe00b..b003fc8eb478 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -2,6 +2,9 @@ , libselinux, libXrandr, pango, freetype, fontconfig, glib, gtk , gdk_pixbuf, cairo, libXi, alsaLib, libXrender, nss, nspr, zlib , dbus, libpng12, libXfixes, cups, libgcrypt, openal, pulseaudio +, SDL # World of Goo +, libvorbis # Osmos +, curl # Superbrothers: S&S EP , patchelf }: assert stdenv.system == "i686-linux"; @@ -13,7 +16,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://media.steampowered.com/client/installer/steam.deb"; - sha256 = "0mx92f9hjjpg3blgmgp8sz0f3jg7m9hssdscipwybks258k8926m"; + sha256 = "1gzfyh3wfdb4h7cxibx61c31l8pjz5zcp5d9d5w9jyja463lv49c"; }; buildInputs = [ dpkg makeWrapper ]; @@ -29,22 +32,37 @@ stdenv.mkDerivation rec { substituteInPlace "$out/bin/steam" --replace "/usr/" "$out/" substituteInPlace "$out/bin/steam" --replace "\`basename \$0\`" "steam" sed -i '/jockey-common/d' $out/bin/steam - wrapProgram "$out/bin/steam" \ - --prefix PATH ":" "${xz}/bin" \ - --prefix LD_LIBRARY_PATH : ${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib - mkdir -p $out/patches - cat > $out/patches/post-install.sh << EOF + mv $out/bin/steam $out/bin/.steam-wrapped + cat > $out/bin/steam << EOF #!${stdenv.shell} - # post-install script to patch stuff at \$HOME - PATH=\$PATH:${patchelf}/bin - sed -i 's/bash/sh/' \$HOME/.local/share/Steam/steam.sh - patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ - \$HOME/.local/share/Steam/ubuntu12_32/steam + export PATH=${xz}/bin:\$PATH + export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib + STEAMBOOTSTRAP=\$HOME/.steam/steam/steam.sh + if [ -f \$STEAMBOOTSTRAP ]; then + STEAMCONFIG=~/.steam + STEAMROOT="\$STEAMCONFIG/steam" + STEAMBINDIR="\$STEAMROOT/ubuntu12_32" + PIDFILE="\$STEAMCONFIG/steam.pid" + STEAMRUNCMD="\$STEAMCONFIG/runcmd" + STEAMBIN32LINK="\$STEAMCONFIG/bin32" + STEAMBIN64LINK="\$STEAMCONFIG/bin64" + STEAMROOTLINK="\$STEAMCONFIG/root" + STEAMSTARTING="\$STEAMCONFIG/starting" + export LD_LIBRARY_PATH="\$STEAMBINDIR:\$LD_LIBRARY_PATH" + export SDL_VIDEO_X11_DGAMOUSE=0 + cd "\$STEAMROOT" + cp ${glibc215}/lib/ld-linux.so.2 "\$STEAMBINDIR" + chmod u+w "\$STEAMBINDIR/ld-linux.so.2" + echo \$\$ > "\$PIDFILE" # pid of the shell will become pid of steam + exec "\$STEAMBINDIR/ld-linux.so.2" "\$STEAMBINDIR/steam" + else + exec $out/bin/.steam-wrapped + fi EOF - chmod +x $out/patches/post-install.sh + chmod +x $out/bin/steam ''; meta = { From c75cccc469173da08d7b8f9d4993bc3cc22d6d45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Thu, 27 Dec 2012 12:10:28 +0100 Subject: [PATCH 13/44] steam: update to 1.0.0.18. I forgot in the previous commit to update the version as I had changed the tarball hash. I also modified a bit the launcher script, since xz should only be needed by the installer. --- pkgs/games/steam/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index b003fc8eb478..7e7cc2d8f6da 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -9,7 +9,7 @@ assert stdenv.system == "i686-linux"; -let version = "1.0.0.16"; in +let version = "1.0.0.18"; in stdenv.mkDerivation rec { name = "steam-${version}"; @@ -37,7 +37,6 @@ stdenv.mkDerivation rec { cat > $out/bin/steam << EOF #!${stdenv.shell} - export PATH=${xz}/bin:\$PATH export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib STEAMBOOTSTRAP=\$HOME/.steam/steam/steam.sh if [ -f \$STEAMBOOTSTRAP ]; then @@ -58,6 +57,7 @@ stdenv.mkDerivation rec { echo \$\$ > "\$PIDFILE" # pid of the shell will become pid of steam exec "\$STEAMBINDIR/ld-linux.so.2" "\$STEAMBINDIR/steam" else + export PATH=${xz}/bin:\$PATH exec $out/bin/.steam-wrapped fi EOF From 10f722dc04ac572ae28538a9db09e472e0cc0f50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Thu, 27 Dec 2012 12:53:02 +0100 Subject: [PATCH 14/44] steam: workaround segfault at startup. I don't know why, if I call ld-linux.so.2 to launch the game, it segfaults, so I renamed it to ld.so. --- pkgs/games/steam/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 7e7cc2d8f6da..e0d337bd7c09 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -52,10 +52,11 @@ stdenv.mkDerivation rec { export LD_LIBRARY_PATH="\$STEAMBINDIR:\$LD_LIBRARY_PATH" export SDL_VIDEO_X11_DGAMOUSE=0 cd "\$STEAMROOT" - cp ${glibc215}/lib/ld-linux.so.2 "\$STEAMBINDIR" - chmod u+w "\$STEAMBINDIR/ld-linux.so.2" + LDSO="\$STEAMBINDIR\ld.so" + cp ${glibc215}/lib/ld-linux.so.2 "\$LDSO" + chmod u+w "\$LDSO" echo \$\$ > "\$PIDFILE" # pid of the shell will become pid of steam - exec "\$STEAMBINDIR/ld-linux.so.2" "\$STEAMBINDIR/steam" + exec "\$LDSO" "\$STEAMBINDIR/steam" else export PATH=${xz}/bin:\$PATH exec $out/bin/.steam-wrapped From 094c0662e879157656b6cfb73268e1041d791af7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Thu, 27 Dec 2012 12:57:48 +0100 Subject: [PATCH 15/44] steam: add mesa to library path. Mesa is needed for Superbrothers: S&S EP, which links to libGLU. --- pkgs/games/steam/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index e0d337bd7c09..f00dd29a234f 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -4,7 +4,7 @@ , dbus, libpng12, libXfixes, cups, libgcrypt, openal, pulseaudio , SDL # World of Goo , libvorbis # Osmos -, curl # Superbrothers: S&S EP +, curl, mesa # Superbrothers: S&S EP , patchelf }: assert stdenv.system == "i686-linux"; @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { STEAMBIN64LINK="\$STEAMCONFIG/bin64" STEAMROOTLINK="\$STEAMCONFIG/root" STEAMSTARTING="\$STEAMCONFIG/starting" - export LD_LIBRARY_PATH="\$STEAMBINDIR:\$LD_LIBRARY_PATH" + export LD_LIBRARY_PATH="\$STEAMBINDIR:\$LD_LIBRARY_PATH:${mesa}/lib" export SDL_VIDEO_X11_DGAMOUSE=0 cd "\$STEAMROOT" LDSO="\$STEAMBINDIR\ld.so" From f42cece8f52e8624994bcb68df01308594dbc039 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Wed, 16 Jan 2013 23:53:45 +0100 Subject: [PATCH 16/44] steam: update to 1.0.0.21. I also updated the patches for the bootsrapper script and fixed a typo, but didn't test anything. --- pkgs/games/steam/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index f00dd29a234f..48466ef1663b 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -9,14 +9,14 @@ assert stdenv.system == "i686-linux"; -let version = "1.0.0.18"; in +let version = "1.0.0.21"; in stdenv.mkDerivation rec { name = "steam-${version}"; src = fetchurl { url = "http://media.steampowered.com/client/installer/steam.deb"; - sha256 = "1gzfyh3wfdb4h7cxibx61c31l8pjz5zcp5d9d5w9jyja463lv49c"; + sha256 = "03p3mvrdkkq9x7ssi9wl5zzyi4xvw5zvap7w72rpjsz8145l3vsj"; }; buildInputs = [ dpkg makeWrapper ]; @@ -30,8 +30,6 @@ stdenv.mkDerivation rec { rmdir $out/usr substituteInPlace "$out/bin/steam" --replace "/bin/bash" "/bin/sh" substituteInPlace "$out/bin/steam" --replace "/usr/" "$out/" - substituteInPlace "$out/bin/steam" --replace "\`basename \$0\`" "steam" - sed -i '/jockey-common/d' $out/bin/steam mv $out/bin/steam $out/bin/.steam-wrapped cat > $out/bin/steam << EOF @@ -52,7 +50,7 @@ stdenv.mkDerivation rec { export LD_LIBRARY_PATH="\$STEAMBINDIR:\$LD_LIBRARY_PATH:${mesa}/lib" export SDL_VIDEO_X11_DGAMOUSE=0 cd "\$STEAMROOT" - LDSO="\$STEAMBINDIR\ld.so" + LDSO="\$STEAMBINDIR/ld.so" cp ${glibc215}/lib/ld-linux.so.2 "\$LDSO" chmod u+w "\$LDSO" echo \$\$ > "\$PIDFILE" # pid of the shell will become pid of steam From dc10fabb2f7a41e79747c4c6597f1930950e7aa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Fri, 15 Feb 2013 19:27:37 +0100 Subject: [PATCH 17/44] steam: update to 1.0.0.27 It needed some more sed'ing and more deps. It's still not working as I seem to need libXdmcp which is not in nixpkgs. --- pkgs/games/steam/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 48466ef1663b..18da72c05a71 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -2,6 +2,7 @@ , libselinux, libXrandr, pango, freetype, fontconfig, glib, gtk , gdk_pixbuf, cairo, libXi, alsaLib, libXrender, nss, nspr, zlib , dbus, libpng12, libXfixes, cups, libgcrypt, openal, pulseaudio +, libxcb, libXau , SDL # World of Goo , libvorbis # Osmos , curl, mesa # Superbrothers: S&S EP @@ -9,14 +10,14 @@ assert stdenv.system == "i686-linux"; -let version = "1.0.0.21"; in +let version = "1.0.0.27"; in stdenv.mkDerivation rec { name = "steam-${version}"; src = fetchurl { url = "http://media.steampowered.com/client/installer/steam.deb"; - sha256 = "03p3mvrdkkq9x7ssi9wl5zzyi4xvw5zvap7w72rpjsz8145l3vsj"; + sha256 = "1hlmqxd0yv92aag3wbykwvri54lbmq9s6krrxfnrp1rbpli9r2jx"; }; buildInputs = [ dpkg makeWrapper ]; @@ -30,12 +31,14 @@ stdenv.mkDerivation rec { rmdir $out/usr substituteInPlace "$out/bin/steam" --replace "/bin/bash" "/bin/sh" substituteInPlace "$out/bin/steam" --replace "/usr/" "$out/" + sed -i 's,STEAMPACKAGE=.*,STEAMPACKAGE=steam,' $out/bin/steam + sed -i '/STEAMSCRIPT/d' $out/bin/steam mv $out/bin/steam $out/bin/.steam-wrapped cat > $out/bin/steam << EOF #!${stdenv.shell} - export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib + export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${libxcb}/lib:${libXau}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib STEAMBOOTSTRAP=\$HOME/.steam/steam/steam.sh if [ -f \$STEAMBOOTSTRAP ]; then STEAMCONFIG=~/.steam From a249fa67d95fae8f57917fa71bafad8dcc259f18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Fri, 15 Feb 2013 19:42:13 +0100 Subject: [PATCH 18/44] steam: add libXdmcp to dependencies. I must have been blind. libXdmcp is in nixpkgs, contrary to what I said. --- pkgs/games/steam/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 18da72c05a71..ab98c099d9ff 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -2,7 +2,7 @@ , libselinux, libXrandr, pango, freetype, fontconfig, glib, gtk , gdk_pixbuf, cairo, libXi, alsaLib, libXrender, nss, nspr, zlib , dbus, libpng12, libXfixes, cups, libgcrypt, openal, pulseaudio -, libxcb, libXau +, libxcb, libXau, libXdmcp , SDL # World of Goo , libvorbis # Osmos , curl, mesa # Superbrothers: S&S EP @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { cat > $out/bin/steam << EOF #!${stdenv.shell} - export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${libxcb}/lib:${libXau}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib + export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${libxcb}/lib:${libXau}/lib:${libXdmcp}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib STEAMBOOTSTRAP=\$HOME/.steam/steam/steam.sh if [ -f \$STEAMBOOTSTRAP ]; then STEAMCONFIG=~/.steam From 87c5a418ec7debed28cc4766ac730b9a13bdfb40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Fri, 15 Feb 2013 23:16:01 +0100 Subject: [PATCH 19/44] steam: create proper symlinks in $HOME/.steam --- pkgs/games/steam/default.nix | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index ab98c099d9ff..46031063e086 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -41,23 +41,40 @@ stdenv.mkDerivation rec { export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${libxcb}/lib:${libXau}/lib:${libXdmcp}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib STEAMBOOTSTRAP=\$HOME/.steam/steam/steam.sh if [ -f \$STEAMBOOTSTRAP ]; then + PLATFORM32=ubuntu12_32 STEAMCONFIG=~/.steam - STEAMROOT="\$STEAMCONFIG/steam" - STEAMBINDIR="\$STEAMROOT/ubuntu12_32" + STEAMROOT=~/.local/share/Steam + STEAMDATA="\$STEAMROOT" PIDFILE="\$STEAMCONFIG/steam.pid" - STEAMRUNCMD="\$STEAMCONFIG/runcmd" STEAMBIN32LINK="\$STEAMCONFIG/bin32" STEAMBIN64LINK="\$STEAMCONFIG/bin64" + STEAMSDK32LINK="\$STEAMCONFIG/sdk32" + STEAMSDK64LINK="\$STEAMCONFIG/sdk64" STEAMROOTLINK="\$STEAMCONFIG/root" + STEAMDATALINK="\$STEAMCONFIG/steam" STEAMSTARTING="\$STEAMCONFIG/starting" - export LD_LIBRARY_PATH="\$STEAMBINDIR:\$LD_LIBRARY_PATH:${mesa}/lib" + # Create symbolic links for the Steam API + if [ ! -e "\$STEAMCONFIG" ]; then + mkdir "\$STEAMCONFIG" + fi + #if [ "\$STEAMROOT" != "\$STEAMROOTLINK" -a "\$STEAMROOT" != "\$STEAMDATALINK" ]; then + rm -f "\$STEAMBIN32LINK" && ln -s "\$STEAMROOT/\$PLATFORM32" "\$STEAMBIN32LINK" + rm -f "\$STEAMBIN64LINK" && ln -s "\$STEAMROOT/\$PLATFORM64" "\$STEAMBIN64LINK" + rm -f "\$STEAMSDK32LINK" && ln -s "\$STEAMROOT/linux32" "\$STEAMSDK32LINK" + rm -f "\$STEAMSDK64LINK" && ln -s "\$STEAMROOT/linux64" "\$STEAMSDK64LINK" + rm -f "\$STEAMROOTLINK" && ln -s "\$STEAMROOT" "\$STEAMROOTLINK" + if [ "\$STEAMDATALINK" ]; then + rm -f "\$STEAMDATALINK" && ln -s "\$STEAMDATA" "\$STEAMDATALINK" + fi + #fi + export LD_LIBRARY_PATH="\$STEAMBIN32LINK:\$LD_LIBRARY_PATH:${mesa}/lib" export SDL_VIDEO_X11_DGAMOUSE=0 cd "\$STEAMROOT" - LDSO="\$STEAMBINDIR/ld.so" + LDSO="\$STEAMBIN32LINK/ld.so" cp ${glibc215}/lib/ld-linux.so.2 "\$LDSO" chmod u+w "\$LDSO" echo \$\$ > "\$PIDFILE" # pid of the shell will become pid of steam - exec "\$LDSO" "\$STEAMBINDIR/steam" + exec "\$LDSO" "\$STEAMBIN32LINK/steam" else export PATH=${xz}/bin:\$PATH exec $out/bin/.steam-wrapped From 2725cbef42329025dacab6ceddc9ab8ae33fa4e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Thu, 13 Dec 2012 10:57:52 +0100 Subject: [PATCH 20/44] Add libtxc_dxtn-1.0.1. I thought this was needed by Steam, but it only applies when not using propietary drivers, and even then it doesn't look like well supported. --- .../libraries/libtxc_dxtn/default.nix | 20 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/development/libraries/libtxc_dxtn/default.nix diff --git a/pkgs/development/libraries/libtxc_dxtn/default.nix b/pkgs/development/libraries/libtxc_dxtn/default.nix new file mode 100644 index 000000000000..9cf8decf4c83 --- /dev/null +++ b/pkgs/development/libraries/libtxc_dxtn/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, autoconf, automake, libtool, mesa }: + +let version = "1.0.1"; in + +stdenv.mkDerivation rec { + name = "libtxc_dxtn-${version}"; + + src = fetchurl { + url = "http://cgit.freedesktop.org/~mareko/${name}.tar.gz"; + sha256 = "0g6lymik9cs7nbzigwzaf49fnhhfsvjanhg92wykw7rfq9zvkhvv"; + }; + + buildInputs = [ autoconf automake libtool mesa ]; + + preConfigure = "autoreconf -vfi"; + + meta = { + homepage = http://dri.freedesktop.org/wiki/S3TC; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5c1eaf6e4f0c..179bba1ce760 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4846,6 +4846,8 @@ let libtunepimp = callPackage ../development/libraries/libtunepimp { }; + libtxc_dxtn = callPackage ../development/libraries/libtxc_dxtn { }; + libgeotiff = callPackage ../development/libraries/libgeotiff { }; libunistring = callPackage ../development/libraries/libunistring { }; From bd44348bafe991f7ddb11ce96968903e702b9be1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Mon, 18 Feb 2013 23:46:00 +0100 Subject: [PATCH 21/44] steam: create some missing symlinks in the script. In the original script it says they are temporary, but without those simlinks Osmos and others fail to start with SteamAPI_Init() failed. --- pkgs/games/steam/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 46031063e086..1d087fa8f31e 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { #!${stdenv.shell} export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${libxcb}/lib:${libXau}/lib:${libXdmcp}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib - STEAMBOOTSTRAP=\$HOME/.steam/steam/steam.sh + STEAMBOOTSTRAP=~/.steam/steam/steam.sh if [ -f \$STEAMBOOTSTRAP ]; then PLATFORM32=ubuntu12_32 STEAMCONFIG=~/.steam @@ -57,7 +57,7 @@ stdenv.mkDerivation rec { if [ ! -e "\$STEAMCONFIG" ]; then mkdir "\$STEAMCONFIG" fi - #if [ "\$STEAMROOT" != "\$STEAMROOTLINK" -a "\$STEAMROOT" != "\$STEAMDATALINK" ]; then + if [ "\$STEAMROOT" != "\$STEAMROOTLINK" -a "\$STEAMROOT" != "\$STEAMDATALINK" ]; then rm -f "\$STEAMBIN32LINK" && ln -s "\$STEAMROOT/\$PLATFORM32" "\$STEAMBIN32LINK" rm -f "\$STEAMBIN64LINK" && ln -s "\$STEAMROOT/\$PLATFORM64" "\$STEAMBIN64LINK" rm -f "\$STEAMSDK32LINK" && ln -s "\$STEAMROOT/linux32" "\$STEAMSDK32LINK" @@ -66,7 +66,11 @@ stdenv.mkDerivation rec { if [ "\$STEAMDATALINK" ]; then rm -f "\$STEAMDATALINK" && ln -s "\$STEAMDATA" "\$STEAMDATALINK" fi - #fi + fi + # Temporary bandaid until everyone has the new libsteam_api.so + rm -f ~/.steampath && ln -s "\$STEAMCONFIG/bin32/steam" ~/.steampath + rm -f ~/.steampid && ln -s "\$PIDFILE" ~/.steampid + rm -f ~/.steam/bin && ln -s "\$STEAMBIN32LINK" ~/.steam/bin export LD_LIBRARY_PATH="\$STEAMBIN32LINK:\$LD_LIBRARY_PATH:${mesa}/lib" export SDL_VIDEO_X11_DGAMOUSE=0 cd "\$STEAMROOT" From 3f4557b0ebd3254cdf274fc24ad9e7e234805231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Tue, 19 Feb 2013 00:01:11 +0100 Subject: [PATCH 22/44] steam: update to 1.0.0.28 --- pkgs/games/steam/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 1d087fa8f31e..95fcdc0252ab 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -10,14 +10,14 @@ assert stdenv.system == "i686-linux"; -let version = "1.0.0.27"; in +let version = "1.0.0.28"; in stdenv.mkDerivation rec { name = "steam-${version}"; src = fetchurl { url = "http://media.steampowered.com/client/installer/steam.deb"; - sha256 = "1hlmqxd0yv92aag3wbykwvri54lbmq9s6krrxfnrp1rbpli9r2jx"; + sha256 = "0c0n1v9rnn6jj2wrvbmi77j9v93f3ndw039z9db6092yqls1amqk"; }; buildInputs = [ dpkg makeWrapper ]; From 97ea8d61e6673cdfd85a8aa8e0ec42ee91c93e1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Tue, 19 Feb 2013 20:34:54 +0100 Subject: [PATCH 23/44] steam: add amd64 version and point url to fix version (as suggested by aristid). Valve has a repository with fixed version packages, so use that instead of the steam.deb I was using. They also have amd64 packages there. --- pkgs/games/steam/default.nix | 18 +++++++++++++----- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 95fcdc0252ab..dd8c5e883a5b 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -8,17 +8,25 @@ , curl, mesa # Superbrothers: S&S EP , patchelf }: -assert stdenv.system == "i686-linux"; +assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; let version = "1.0.0.28"; in stdenv.mkDerivation rec { name = "steam-${version}"; - src = fetchurl { - url = "http://media.steampowered.com/client/installer/steam.deb"; - sha256 = "0c0n1v9rnn6jj2wrvbmi77j9v93f3ndw039z9db6092yqls1amqk"; - }; + src = + if stdenv.system == "i686-linux" then + fetchurl { + url = "http://repo.steampowered.com/steam/archive/precise/steam_${version}_i386.deb"; + sha256 = "0c0n1v9rnn6jj2wrvbmi77j9v93f3ndw039z9db6092yqls1amqk"; + } + else if stdenv.system == "x86_64-linux" then + fetchurl { + url = "http://repo.steampowered.com/steam/archive/precise/steam64_${version}_amd64.deb"; + sha256 = "1dr2b9s036w8r46az1f9cjddrjaf8a9k564g65j288y6w9pcdb2w"; + } + else throw "Steam not supported on this platform."; buildInputs = [ dpkg makeWrapper ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 179bba1ce760..aabb57b2db02 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9034,7 +9034,7 @@ let stardust = callPackage ../games/stardust {}; - steam = callPackage_i686 ../games/steam {}; + steam = callPackage ../games/steam {}; stuntrally = callPackage ../games/stuntrally { }; From 4d853ae94fe74437b54eb1146c228c9a55175f61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Tue, 19 Feb 2013 20:52:19 +0100 Subject: [PATCH 24/44] steam: revert adding amd64 version. It turns out that the .deb only contains the changelog and some other docs. Revert back to using the i686 version, but keep the double url for the future. --- pkgs/games/steam/default.nix | 2 +- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index dd8c5e883a5b..122d301e5ba5 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -8,7 +8,7 @@ , curl, mesa # Superbrothers: S&S EP , patchelf }: -assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; +assert stdenv.system == "i686-linux"; let version = "1.0.0.28"; in diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index aabb57b2db02..179bba1ce760 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9034,7 +9034,7 @@ let stardust = callPackage ../games/stardust {}; - steam = callPackage ../games/steam {}; + steam = callPackage_i686 ../games/steam {}; stuntrally = callPackage ../games/stuntrally { }; From 5885cf1286fc2cfdf2b24811be872a00d421e183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Wed, 20 Feb 2013 19:30:31 +0100 Subject: [PATCH 25/44] steam: add flashplayer plugin support. The videos work, but there is a problem with sound: ALSA lib dlmisc.c:236:(snd1_dlobj_cache_get) Cannot open shared library /nix/store/9z51hr9l19vdhgmqd60jwwrg6ny5md2d-alsa-plugins-1.0.26/lib/alsa-lib/libasound_module_pcm_pulse.so It tries to open a 64bit plugin, which obviously fails. I think this depends on /etc/asound.conf, but I'm not sure how to fix it. Regardless of the problem, in one computer I tried the sound works but other apps cannot output sound. In another, the sound doesn't work and other apps continue working as normal. --- pkgs/games/steam/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 122d301e5ba5..0bb73d5f6c91 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -2,7 +2,7 @@ , libselinux, libXrandr, pango, freetype, fontconfig, glib, gtk , gdk_pixbuf, cairo, libXi, alsaLib, libXrender, nss, nspr, zlib , dbus, libpng12, libXfixes, cups, libgcrypt, openal, pulseaudio -, libxcb, libXau, libXdmcp +, libxcb, libXau, libXdmcp, flashplayer , SDL # World of Goo , libvorbis # Osmos , curl, mesa # Superbrothers: S&S EP @@ -82,6 +82,8 @@ stdenv.mkDerivation rec { export LD_LIBRARY_PATH="\$STEAMBIN32LINK:\$LD_LIBRARY_PATH:${mesa}/lib" export SDL_VIDEO_X11_DGAMOUSE=0 cd "\$STEAMROOT" + FLASHLINK="\$STEAMCONFIG/bin32/plugins" + rm -f "\$FLASHLINK" && ln -s "${flashplayer}/lib/mozilla/plugins" "\$FLASHLINK" LDSO="\$STEAMBIN32LINK/ld.so" cp ${glibc215}/lib/ld-linux.so.2 "\$LDSO" chmod u+w "\$LDSO" From 37996253e6492003c4ec23c833461e44f2fc1f23 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Sat, 10 Aug 2013 05:46:34 +0300 Subject: [PATCH 26/44] Steam: fix and update to 1.0.0.39 --- pkgs/games/steam/default.nix | 37 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 0bb73d5f6c91..1e8c0db90455 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -1,32 +1,25 @@ -{ stdenv, fetchurl, dpkg, makeWrapper, xz, libX11, gcc, glibc215 +{ stdenv, fetchurl, dpkg, makeWrapper, xz, libX11, gcc, glibc , libselinux, libXrandr, pango, freetype, fontconfig, glib, gtk , gdk_pixbuf, cairo, libXi, alsaLib, libXrender, nss, nspr, zlib , dbus, libpng12, libXfixes, cups, libgcrypt, openal, pulseaudio -, libxcb, libXau, libXdmcp, flashplayer +, libxcb, libXau, libXdmcp, flashplayer, libSM, libICE, libXext +, dbus_glib, libusb1, networkmanager , SDL # World of Goo , libvorbis # Osmos , curl, mesa # Superbrothers: S&S EP , patchelf }: -assert stdenv.system == "i686-linux"; +assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; -let version = "1.0.0.28"; in +let version = "1.0.0.39"; in stdenv.mkDerivation rec { name = "steam-${version}"; - src = - if stdenv.system == "i686-linux" then - fetchurl { - url = "http://repo.steampowered.com/steam/archive/precise/steam_${version}_i386.deb"; - sha256 = "0c0n1v9rnn6jj2wrvbmi77j9v93f3ndw039z9db6092yqls1amqk"; - } - else if stdenv.system == "x86_64-linux" then - fetchurl { - url = "http://repo.steampowered.com/steam/archive/precise/steam64_${version}_amd64.deb"; - sha256 = "1dr2b9s036w8r46az1f9cjddrjaf8a9k564g65j288y6w9pcdb2w"; - } - else throw "Steam not supported on this platform."; + src = fetchurl { + url = "http://repo.steampowered.com/steam/archive/precise/steam-launcher_${version}_all.deb"; + sha256 = "1z1cnlr2qw2ndnqsfwjck9617m2p0f3p9q9409vczj909h2a9wyk"; + }; buildInputs = [ dpkg makeWrapper ]; @@ -35,18 +28,17 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out dpkg-deb -x $src $out - mv $out/usr/* $out/ - rmdir $out/usr - substituteInPlace "$out/bin/steam" --replace "/bin/bash" "/bin/sh" + cp -r $out/usr/* $out/ + rm -rf $out/usr + substituteInPlace "$out/bin/steam" --replace "/usr/bin/env bash" "/bin/sh" substituteInPlace "$out/bin/steam" --replace "/usr/" "$out/" sed -i 's,STEAMPACKAGE=.*,STEAMPACKAGE=steam,' $out/bin/steam sed -i '/STEAMSCRIPT/d' $out/bin/steam mv $out/bin/steam $out/bin/.steam-wrapped cat > $out/bin/steam << EOF - #!${stdenv.shell} - export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${libxcb}/lib:${libXau}/lib:${libXdmcp}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib + export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${libxcb}/lib:${libXau}/lib:${libXdmcp}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib:${libSM}/lib:${libICE}/lib:${dbus_glib}/lib:${networkmanager}/lib:${libXext}/lib:${libusb1}/lib STEAMBOOTSTRAP=~/.steam/steam/steam.sh if [ -f \$STEAMBOOTSTRAP ]; then PLATFORM32=ubuntu12_32 @@ -85,9 +77,10 @@ stdenv.mkDerivation rec { FLASHLINK="\$STEAMCONFIG/bin32/plugins" rm -f "\$FLASHLINK" && ln -s "${flashplayer}/lib/mozilla/plugins" "\$FLASHLINK" LDSO="\$STEAMBIN32LINK/ld.so" - cp ${glibc215}/lib/ld-linux.so.2 "\$LDSO" + cp ${glibc}/lib/ld-linux.so.2 "\$LDSO" chmod u+w "\$LDSO" echo \$\$ > "\$PIDFILE" # pid of the shell will become pid of steam + export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${glibc}/lib exec "\$LDSO" "\$STEAMBIN32LINK/steam" else export PATH=${xz}/bin:\$PATH From 24a0e6ad5fe16d525f06fd6045fcc3f5da8e4ed3 Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Sat, 10 Aug 2013 13:00:43 +0200 Subject: [PATCH 27/44] callPackage automatically inherits from xlibs --- pkgs/top-level/all-packages.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f13b150bd173..0268790832e0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1830,9 +1830,7 @@ let vfdecrypt = callPackage ../tools/misc/vfdecrypt { }; - vifm = callPackage ../applications/misc/vifm { - inherit (xlibs) libX11; - }; + vifm = callPackage ../applications/misc/vifm { }; viking = callPackage ../applications/misc/viking { inherit (gnome) scrollkeeper; From 31648f889dd9685e4a6268c49fc6aefc37405fe0 Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Wed, 7 Aug 2013 06:24:44 +0200 Subject: [PATCH 28/44] btrfsprogs: upgrade to current git master --- pkgs/tools/filesystems/btrfsprogs/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix index a091142db249..9c8d18231f0f 100644 --- a/pkgs/tools/filesystems/btrfsprogs/default.nix +++ b/pkgs/tools/filesystems/btrfsprogs/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchgit, zlib, libuuid, acl, attr, e2fsprogs, lzo }: -let version = "0.20pre20130509"; in +let version = "0.20pre20130705"; in stdenv.mkDerivation { name = "btrfs-progs-${version}"; src = fetchgit { url = "git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git"; - rev = "650e656a8b9c1fbe4ec5cd8c48ae285b8abd3b69"; - sha256 = "e50e8ce9d24505711ed855f69a73d639dc5e401692a7d1c300753de3472abb21"; + rev = "194aa4a1bd6447bb545286d0bcb0b0be8204d79f"; + sha256 = "07c6762c9873cdcc1b9b3be0b412ba14b83457d8f5608d3dd945953b5e06f0f2"; }; buildInputs = [ zlib libuuid acl attr e2fsprogs lzo ]; From 59025453e71f88196eaff142ff3443f99cda8f44 Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Wed, 7 Aug 2013 06:30:54 +0200 Subject: [PATCH 29/44] linux-3.10: backport a fix for "btrfs send" It has been submitted for inclusion in mainline, so it will probably make it into 3.11 (or 3.12 as 3.11 is fairly close to release). It is very local, only affecting people who use the "send" feature. Without it, send is unstable/unsafe to use incrementally. It can probably be applied to 3.9 and 3.8 as well, but as I only tested it against 3.10, so I didn't bother. --- pkgs/os-specific/linux/kernel/patches.nix | 11 +++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 12 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index c77785167cc1..e1ec4a55718e 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -139,4 +139,15 @@ rec { }; }; + # this patch will probably make it into 3.11 or 3.12 + # it only touches 1 file (fs/btrfs/send.c) so it only affects people that use + # the btrfs send feature. + btrfs_send_backport = + { name = "btrfs-send-check-parent-dir-when-doing-a-compare-send"; + patch = fetchurl { + url = https://patchwork.kernel.org/patch/2839612/mbox; + sha256 = "0qv5mxpfrzj2dibac64n4b3d6pg7gzsafd11548bihwmsa3dlbhg"; + }; + }; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7a366b24193a..53c3ba9ec73a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6454,6 +6454,7 @@ let kernelPatches = [ kernelPatches.sec_perm_2_6_24 + kernelPatches.btrfs_send_backport ] ++ lib.optionals (platform.kernelArch == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill From 5a1593ed22dc6f0c451a9a37870be66aad601032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sat, 10 Aug 2013 14:15:20 +0200 Subject: [PATCH 30/44] Revert "Add taskjuggler ruby gem" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 67a46ce928c9190c9b11982120000df711ef1945. It seems this commit is the reason for this hydra breakage: building /nix/store/hwdyx4mf5638mxkka64cxjcj75vw3hmz-nixpkgs-tarball-1.0pre28245_67a46ce unpacking sources [...snip lots of stuff...] 'manual.pdf' successfully built make: Leaving directory `/tmp/nix-build-nixpkgs-tarball-1.0pre28245_67a46ce.drv-0/git-export/doc' running tests checking pkgs/top-level/all-packages.nix on i686-linux error: while evaluating the attribute `drvPath' at `/nix/store/l7ny7f17aii5qfgmadr2wcp3wan54wlp-nix-1.5.3/share/nix/corepkgs/derivation.nix:19:9': while evaluating the builtin function `derivationStrict': while instantiating the derivation named `ruby-actionmailer-4.0.0' at `/tmp/nix-build-nixpkgs-tarball-1.0pre28245_67a46ce.drv-0/git-export/pkgs/development/interpreters/ruby/gem.nix:16:5': while evaluating the derivation attribute `propagatedNativeBuildInputs' at `/tmp/nix-build-nixpkgs-tarball-1.0pre28245_67a46ce.drv-0/git-export/pkgs/stdenv/generic/default.nix:78:17': while evaluating the attribute `outPath' at `/nix/store/l7ny7f17aii5qfgmadr2wcp3wan54wlp-nix-1.5.3/share/nix/corepkgs/derivation.nix:18:9': while evaluating the builtin function `getAttr': while evaluating the builtin function `derivationStrict': while instantiating the derivation named `ruby-actionpack-4.0.0' at `/tmp/nix-build-nixpkgs-tarball-1.0pre28245_67a46ce.drv-0/git-export/pkgs/development/interpreters/ruby/gem.nix:16:5': while evaluating the derivation attribute `propagatedNativeBuildInputs' at `/tmp/nix-build-nixpkgs-tarball-1.0pre28245_67a46ce.drv-0/git-export/pkgs/stdenv/generic/default.nix:78:17': while evaluating the attribute `outPath' at `/nix/store/l7ny7f17aii5qfgmadr2wcp3wan54wlp-nix-1.5.3/share/nix/corepkgs/derivation.nix:18:9': while evaluating the builtin function `getAttr': while evaluating the builtin function `derivationStrict': while instantiating the derivation named `ruby-activesupport-4.0.0' at `/tmp/nix-build-nixpkgs-tarball-1.0pre28245_67a46ce.drv-0/git-export/pkgs/development/interpreters/ruby/gem.nix:16:5': while evaluating the derivation attribute `propagatedNativeBuildInputs' at `/tmp/nix-build-nixpkgs-tarball-1.0pre28245_67a46ce.drv-0/git-export/pkgs/stdenv/generic/default.nix:78:17': while evaluating the attribute `outPath' at `/nix/store/l7ny7f17aii5qfgmadr2wcp3wan54wlp-nix-1.5.3/share/nix/corepkgs/derivation.nix:18:9': while evaluating the builtin function `getAttr': while evaluating the builtin function `derivationStrict': while instantiating the derivation named `ruby-multi_json-1.7.8' at `/tmp/nix-build-nixpkgs-tarball-1.0pre28245_67a46ce.drv-0/git-export/pkgs/development/interpreters/ruby/gem.nix:16:5': while evaluating the derivation attribute `src' at `/tmp/nix-build-nixpkgs-tarball-1.0pre28245_67a46ce.drv-0/git-export/pkgs/development/interpreters/ruby/gem.nix:11:5': while evaluating the attribute `outPath' at `/nix/store/l7ny7f17aii5qfgmadr2wcp3wan54wlp-nix-1.5.3/share/nix/corepkgs/derivation.nix:18:9': while evaluating the builtin function `getAttr': while evaluating the builtin function `derivationStrict': hash `no hash' has wrong length for hash type `sha256' build time elapsed: 0m0.038s 0m0.023s 0m20.586s 0m2.004s builder for `/nix/store/lxmyqg7z1l71ji5vdar2m5w66dx45v20-nixpkgs-tarball-1.0pre28245_67a46ce.drv' failed with exit code 1 error: build of `/nix/store/lxmyqg7z1l71ji5vdar2m5w66dx45v20-nixpkgs-tarball-1.0pre28245_67a46ce.drv' failed --- .../interpreters/ruby/generated.nix | 195 +++++++++--------- 1 file changed, 98 insertions(+), 97 deletions(-) diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix index ff0bcf235aeb..7446e52704c8 100644 --- a/pkgs/development/interpreters/ruby/generated.nix +++ b/pkgs/development/interpreters/ruby/generated.nix @@ -12,10 +12,10 @@ g: # Get dependencies from patched gems activesupport = g.activesupport_4_0_0; addressable = g.addressable_2_3_5; arel = g.arel_4_0_0; - atomic = g.atomic_1_1_12; + atomic = g.atomic_1_1_10; atoulme_Antwrap = g.atoulme_Antwrap_0_7_4; autotest_rails = g.autotest_rails_4_1_2; - aws_sdk = g.aws_sdk_1_14_1; + aws_sdk = g.aws_sdk_1_12_0; bitbucket_backup = g.bitbucket_backup_0_2_2; builder = g.builder_3_2_2; buildr = g.buildr_1_4_12; @@ -31,8 +31,9 @@ g: # Get dependencies from patched gems erubis = g.erubis_2_7_0; eventmachine = g.eventmachine_1_0_3; eventmachine_tail = g.eventmachine_tail_0_6_4; + execjs = g.execjs_1_4_0; fakes3 = g.fakes3_0_1_5; - faraday = g.faraday_0_8_8; + faraday = g.faraday_0_8_7; faraday_middleware = g.faraday_middleware_0_8_8; ffi = g.ffi_1_9_0; file_tail = g.file_tail_1_0_12; @@ -45,9 +46,10 @@ g: # Get dependencies from patched gems i18n = g.i18n_0_6_4; iconv = g.iconv_1_0_3; jruby_pageant = g.jruby_pageant_1_1_1; - jsduck = g.jsduck_5_0_1; + jsduck = g.jsduck_4_10_4; json = g.json_1_8_0; json_pure = g.json_pure_1_8_0; + libv8 = g.libv8_3_11_8_17_x86_64_linux; locale = g.locale_2_0_8; lockfile = g.lockfile_2_1_0; macaddr = g.macaddr_1_6_1; @@ -57,10 +59,10 @@ g: # Get dependencies from patched gems mini_portile = g.mini_portile_0_5_1; minitar = g.minitar_0_5_3; minitest = g.minitest_4_7_5; - multi_json = g.multi_json_1_7_8; + multi_json = g.multi_json_1_7_7; multipart_post = g.multipart_post_1_2_0; - net_http_digest_auth = g.net_http_digest_auth_1_4; - net_http_persistent = g.net_http_persistent_2_9; + net_http_digest_auth = g.net_http_digest_auth_1_3; + net_http_persistent = g.net_http_persistent_2_8; net_sftp = g.net_sftp_2_0_5; net_ssh = g.net_ssh_2_6_8; nix = g.nix_0_1_1; @@ -78,11 +80,11 @@ g: # Get dependencies from patched gems rake = g.rake_10_1_0; rb_fsevent = g.rb_fsevent_0_9_3; rdiscount = g.rdiscount_2_1_6; + ref = g.ref_1_0_5; remote_syslog = g.remote_syslog_1_6_14; right_aws = g.right_aws_3_1_0; right_http_connection = g.right_http_connection_1_4_0; rjb = g.rjb_1_4_8; - rkelly_remix = g.rkelly_remix_0_0_4; rmail = g.rmail_1_0_0; rspec = g.rspec_2_11_0; rspec_core = g.rspec_core_2_11_1; @@ -90,20 +92,19 @@ g: # Get dependencies from patched gems rspec_mocks = g.rspec_mocks_2_11_3; rubyforge = g.rubyforge_2_0_4; rubyzip = g.rubyzip_0_9_9; - sass = g.sass_3_2_10; - selenium_webdriver = g.selenium_webdriver_2_34_0; + sass = g.sass_3_2_9; + selenium_webdriver = g.selenium_webdriver_2_33_0; servolux = g.servolux_0_10_0; sinatra = g.sinatra_1_3_2; sprockets = g.sprockets_2_10_0; sprockets_rails = g.sprockets_rails_2_0_0; syslog_protocol = g.syslog_protocol_0_9_2; systemu = g.systemu_2_5_2; - taskjuggler = g.taskjuggler_3_5_0; - term_ansicolor = g.term_ansicolor_1_2_2; text = g.text_1_2_1; + therubyracer = g.therubyracer_0_11_4; thin = g.thin_1_5_1; thor = g.thor_0_18_1; - thread_safe = g.thread_safe_0_1_2; + thread_safe = g.thread_safe_0_1_0; tilt = g.tilt_1_4_1; tins = g.tins_0_8_3; treetop = g.treetop_1_4_14; @@ -120,7 +121,7 @@ g: # Get dependencies from patched gems xml_simple = g.xml_simple_1_1_1; yajl_ruby = g.yajl_ruby_1_1_0; }; - gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''remote_syslog'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''thin'' ''trollop'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ]; + gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''remote_syslog'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''thin'' ''trollop'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ]; gems = { ZenTest_4_9_2 = { basename = ''ZenTest''; @@ -216,7 +217,7 @@ installed versions.''; longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.''; }; name = ''activesupport-4.0.0''; - requiredGems = [ g.i18n_0_6_4 g.multi_json_1_7_8 g.tzinfo_0_3_37 g.minitest_4_7_5 g.thread_safe_0_1_2 ]; + requiredGems = [ g.i18n_0_6_4 g.multi_json_1_7_7 g.tzinfo_0_3_37 g.minitest_4_7_5 g.thread_safe_0_1_0 ]; sha256 = ''0agxkvjhhv6r9rpm0lcgjny4sn1ihhvhlgs46rgi3fz0y1d93ids''; }; addressable_2_3_5 = { @@ -251,16 +252,16 @@ database compatibility and query generation.''; requiredGems = [ ]; sha256 = ''19xzg8jhp4p18xlf6sp4yhf6vdpc3hl8lm23n6glikclm7rvgick''; }; - atomic_1_1_12 = { + atomic_1_1_10 = { basename = ''atomic''; meta = { description = ''An atomic reference implementation for JRuby, Rubinius, and MRI''; homepage = ''http://github.com/headius/ruby-atomic''; longDescription = ''An atomic reference implementation for JRuby, Rubinius, and MRI''; }; - name = ''atomic-1.1.12''; + name = ''atomic-1.1.10''; requiredGems = [ ]; - sha256 = ''038kihswmzlzsc96r3qg5g0khdg5lywjk2nz32i7l6j85lpg233v''; + sha256 = ''0ms6b2f9hij6bap901ra2wx7lk4y2bsasifcqr7m3z8l5my372jh''; }; atoulme_Antwrap_0_7_4 = { basename = ''atoulme_Antwrap''; @@ -296,16 +297,16 @@ rails support and extra plugins for migrations and fixtures.''; requiredGems = [ g.ZenTest_4_9_2 ]; sha256 = ''1wkb5jayb39yx0i8ly7sibygf9f9c3w24jg2z1qgm135zlb070v4''; }; - aws_sdk_1_14_1 = { + aws_sdk_1_12_0 = { basename = ''aws_sdk''; meta = { description = ''AWS SDK for Ruby''; homepage = ''http://aws.amazon.com/sdkforruby''; longDescription = ''AWS SDK for Ruby''; }; - name = ''aws-sdk-1.14.1''; + name = ''aws-sdk-1.12.0''; requiredGems = [ g.uuidtools_2_1_4 g.nokogiri_1_5_10 g.json_1_8_0 ]; - sha256 = ''18lvxnkb7xb2q7z5ifz9j2b9v17r6fd04s83pac7598s3zj6k4na''; + sha256 = ''0ijz5ch7ch5kj19j5caf5h3hdfmmny9v9clkdh664cr46ylvkv3n''; }; bitbucket_backup_0_2_2 = { basename = ''bitbucket_backup''; @@ -552,6 +553,17 @@ using TCP/IP, especially if custom protocols are required.''; requiredGems = [ g.eventmachine_1_0_3 ]; sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61''; }; + execjs_1_4_0 = { + basename = ''execjs''; + meta = { + description = ''Run JavaScript code from Ruby''; + homepage = ''https://github.com/sstephenson/execjs''; + longDescription = ''ExecJS lets you run JavaScript code from Ruby.''; + }; + name = ''execjs-1.4.0''; + requiredGems = [ g.multi_json_1_7_7 ]; + sha256 = ''0b69ci2afbcdqsri3i89a7s7j7palxsxdb65x6h2wx79kzlc5xcs''; + }; fakes3_0_1_5 = { basename = ''fakes3''; meta = { @@ -562,15 +574,15 @@ using TCP/IP, especially if custom protocols are required.''; requiredGems = [ g.thor_0_18_1 g.builder_3_2_2 ]; sha256 = ''1na5wrbarla6s414svqmr5spbpv6vmcgpswal444x4clcpmadhib''; }; - faraday_0_8_8 = { + faraday_0_8_7 = { basename = ''faraday''; meta = { description = ''HTTP/REST API client library.''; homepage = ''https://github.com/lostisland/faraday''; }; - name = ''faraday-0.8.8''; + name = ''faraday-0.8.7''; requiredGems = [ g.multipart_post_1_2_0 ]; - sha256 = ''no hash''; + sha256 = ''186a9md3ixanl2crdlw37kspw5wiyw16z9mj3aw8rd1yd5q56ddi''; }; faraday_middleware_0_8_8 = { basename = ''faraday_middleware''; @@ -580,7 +592,7 @@ using TCP/IP, especially if custom protocols are required.''; longDescription = ''Various middleware for Faraday''; }; name = ''faraday_middleware-0.8.8''; - requiredGems = [ g.faraday_0_8_8 ]; + requiredGems = [ g.faraday_0_8_7 ]; sha256 = ''1n0g8pm7ynx6ffyqhscc1cqw97zhvd8isr31yfyj15335j1jsncz''; }; ffi_1_9_0 = { @@ -735,16 +747,16 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf''; requiredGems = [ ]; sha256 = ''1kgqsn0bagr41gf5kbqaxbs38a7s5bm85m0pdx4qz7d70v9nc9cl''; }; - jsduck_5_0_1 = { + jsduck_4_10_4 = { basename = ''jsduck''; meta = { description = ''Simple JavaScript Duckumentation generator''; homepage = ''https://github.com/senchalabs/jsduck''; longDescription = ''Documentation generator for Sencha JS frameworks''; }; - name = ''jsduck-5.0.1''; - requiredGems = [ g.rdiscount_2_1_6 g.json_1_8_0 g.parallel_0_7_1 g.rkelly_remix_0_0_4 g.dimensions_1_2_0 ]; - sha256 = ''0py1ik9jri5f230ifqxv0y0p4w0dp5jp8a9hfzgzaz4xvpzqyf7h''; + name = ''jsduck-4.10.4''; + requiredGems = [ g.rdiscount_2_1_6 g.json_1_8_0 g.parallel_0_7_1 g.execjs_1_4_0 g.therubyracer_0_11_4 g.dimensions_1_2_0 ]; + sha256 = ''1xnad96wmszz0m66wrwciihba6whpg8bglwkbazrifxh9kcw7wih''; }; json_1_8_0 = { basename = ''json''; @@ -779,6 +791,17 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf''; requiredGems = [ ]; sha256 = ''0kkn5zhiffav2cffj43wwvzj07825r4j463ilfjgik034vnbjs83''; }; + libv8_3_11_8_17_x86_64_linux = { + basename = ''libv8''; + meta = { + description = ''Distribution of the V8 JavaScript engine''; + homepage = ''http://github.com/cowboyd/libv8''; + longDescription = ''Distributes the V8 JavaScript engine in binary and source forms in order to support fast builds of The Ruby Racer''; + }; + name = ''libv8-3.11.8.17-x86_64-linux''; + requiredGems = [ ]; + sha256 = ''1s2j79rm2idny701l6rsnig6451w2wfipgmfvxf05d1syn14cmg9''; + }; locale_2_0_8 = { basename = ''locale''; meta = { @@ -836,7 +859,7 @@ submitted. Mechanize also keeps track of the sites that you have visited as a history.''; }; name = ''mechanize-2.7.1''; - requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9 g.mime_types_1_23 g.http_cookie_1_0_1 g.nokogiri_1_6_0 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_12 ]; + requiredGems = [ g.net_http_digest_auth_1_3 g.net_http_persistent_2_8 g.mime_types_1_23 g.http_cookie_1_0_1 g.nokogiri_1_6_0 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_12 ]; sha256 = ''0abcrabsjamp4fjbizp4dv8nkz7jv03r9n0lpn9yypb48ij876vh''; }; mime_types_1_23 = { @@ -956,16 +979,16 @@ extract-method refactorings still apply.''; requiredGems = [ ]; sha256 = ''03p6iban9gcpcflzp4z901s1hgj9369p6515h967ny6hlqhcf2iy''; }; - multi_json_1_7_8 = { + multi_json_1_7_7 = { basename = ''multi_json''; meta = { description = ''A common interface to multiple JSON libraries.''; homepage = ''http://github.com/intridea/multi_json''; longDescription = ''A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson.''; }; - name = ''multi_json-1.7.8''; + name = ''multi_json-1.7.7''; requiredGems = [ ]; - sha256 = ''no hash''; + sha256 = ''1w3fpi52h4a7r0a670xzrwa40l5irh69r45cbvxw24bsp19sfxzr''; }; multipart_post_1_2_0 = { basename = ''multipart_post''; @@ -978,7 +1001,7 @@ extract-method refactorings still apply.''; requiredGems = [ ]; sha256 = ''12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc''; }; - net_http_digest_auth_1_4 = { + net_http_digest_auth_1_3 = { basename = ''net_http_digest_auth''; meta = { description = ''An implementation of RFC 2617 - Digest Access Authentication''; @@ -991,11 +1014,11 @@ In order to use net-http-digest_auth you'll need to perform some request wrangling on your own. See the class documentation at Net::HTTP::DigestAuth for an example.''; }; - name = ''net-http-digest_auth-1.4''; + name = ''net-http-digest_auth-1.3''; requiredGems = [ ]; - sha256 = ''14801gr34g0rmqz9pv4rkfa3crfdbyfk6r48vpg5a5407v0sixqi''; + sha256 = ''11hn4fb02rx799ck1gghmz7b32977zbi9sz2jpfyz43igwz2dvzy''; }; - net_http_persistent_2_9 = { + net_http_persistent_2_8 = { basename = ''net_http_persistent''; meta = { description = ''Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8''; @@ -1011,9 +1034,9 @@ Net::HTTP supports persistent connections with some API methods but does not handle reconnection gracefully. Net::HTTP::Persistent supports reconnection and retry according to RFC 2616.''; }; - name = ''net-http-persistent-2.9''; + name = ''net-http-persistent-2.8''; requiredGems = [ ]; - sha256 = ''0k9bp7q5fsh908jnkwfj71ky04i4ih0ky6sqi5vl6zcpjsczgfcb''; + sha256 = ''1y50ssi8lcxfady4wwy242sgsr1424g5rg3wpav6kqc9rba74v9l''; }; net_sftp_2_0_5 = { basename = ''net_sftp''; @@ -1087,7 +1110,7 @@ enough of it.''; }; name = ''nokogiri-1.6.0''; requiredGems = [ g.mini_portile_0_5_1 ]; - sha256 = ''no hash''; + sha256 = ''1icrny9w2hd0pm7cyq5wqdkbzr57dkma1lbyrr0x14lsnangkidb''; }; ntlm_http_0_1_1 = { basename = ''ntlm_http''; @@ -1108,7 +1131,7 @@ enough of it.''; longDescription = ''Command-line client for Papertrail hosted log management service. Tails and searches app server logs and system syslog. Supports Boolean search and works with grep and pipe output (Unix).''; }; name = ''papertrail-0.9.7''; - requiredGems = [ g.addressable_2_3_5 g.yajl_ruby_1_1_0 g.chronic_0_9_1 g.faraday_0_8_8 g.faraday_middleware_0_8_8 ]; + requiredGems = [ g.addressable_2_3_5 g.yajl_ruby_1_1_0 g.chronic_0_9_1 g.faraday_0_8_7 g.faraday_middleware_0_8_8 ]; sha256 = ''0v0m1v0qabbr9pmyl77znz39qy1m7p0xwvf3lf9hyq6n524f2dwr''; }; papertrail_cli_0_9_3 = { @@ -1265,6 +1288,17 @@ request helpers feature.''; requiredGems = [ ]; sha256 = ''180ln9gwxn0cyflg0i1viv7jyalmjqvqr34cb65xsmmsz1nz55q2''; }; + ref_1_0_5 = { + basename = ''ref''; + meta = { + description = ''Library that implements weak, soft, and strong references in Ruby.''; + homepage = ''http://github.com/bdurand/ref''; + longDescription = ''Library that implements weak, soft, and strong references in Ruby that work across multiple runtimes (MRI, REE, YARV, Jruby, Rubinius, and IronRuby). Also includes implementation of maps/hashes that use references and a reference queue.''; + }; + name = ''ref-1.0.5''; + requiredGems = [ ]; + sha256 = ''19qgpsfszwc2sfh6wixgky5agn831qq8ap854i1jqqhy1zsci3la''; + }; remote_syslog_1_6_14 = { basename = ''remote_syslog''; meta = { @@ -1367,19 +1401,6 @@ algorithm for low-level network errors. requiredGems = [ ]; sha256 = ''06ps4ssaxb8jwja53h7v7kb31hsdr997b8na89d1yasm5zyraliw''; }; - rkelly_remix_0_0_4 = { - basename = ''rkelly_remix''; - meta = { - description = ''Fork of the RKelly library to make it suitable as the JavaScript parser in JSDuck''; - longDescription = ''Fork of the RKelly library to make it suitable as the JavaScript parser -in JSDuck. - -* http://rkelly.rubyforge.org/''; - }; - name = ''rkelly-remix-0.0.4''; - requiredGems = [ ]; - sha256 = ''1w6yr5n3b8yd0rsba9q3zyxr0n2hbpkz4v2k1qx6j1ywvl9rc2c1''; - }; rmail_1_0_0 = { basename = ''rmail''; meta = { @@ -1463,7 +1484,7 @@ in JSDuck. requiredGems = [ ]; sha256 = ''1khf6d903agnwd8965f5f8b353rzmfvygxp53z1199rqzw8h46q2''; }; - sass_3_2_10 = { + sass_3_2_9 = { basename = ''sass''; meta = { description = ''A powerful but elegant CSS compiler that makes CSS fun again.''; @@ -1474,20 +1495,20 @@ in JSDuck. command line tool or a web-framework plugin. ''; }; - name = ''sass-3.2.10''; + name = ''sass-3.2.9''; requiredGems = [ ]; - sha256 = ''0anfff4hz8fz1wbimmp9vv4mjfl1swg7ww74j549788x41l4x283''; + sha256 = ''08lvbi4siavvci0g4m65576axcagw23i0iamdqv33kwdimik717q''; }; - selenium_webdriver_2_34_0 = { + selenium_webdriver_2_33_0 = { basename = ''selenium_webdriver''; meta = { description = ''The next generation developer focused tool for automated testing of webapps''; homepage = ''http://selenium.googlecode.com''; longDescription = ''WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.''; }; - name = ''selenium-webdriver-2.34.0''; - requiredGems = [ g.multi_json_1_7_8 g.rubyzip_0_9_9 g.childprocess_0_3_9 g.websocket_1_0_7 ]; - sha256 = ''02wh008b03ixhpp853rmviq6xfk8100ka1g66wb2vsghajs6l1hx''; + name = ''selenium-webdriver-2.33.0''; + requiredGems = [ g.multi_json_1_7_7 g.rubyzip_0_9_9 g.childprocess_0_3_9 g.websocket_1_0_7 ]; + sha256 = ''000fpc5vaf268g96vmqq9vlg8fgyh78290agayrk9qkds8i8cr5d''; }; servolux_0_10_0 = { basename = ''servolux''; @@ -1522,7 +1543,7 @@ interpreters.''; longDescription = ''Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.''; }; name = ''sprockets-2.10.0''; - requiredGems = [ g.hike_1_2_3 g.multi_json_1_7_8 g.rack_1_5_2 g.tilt_1_4_1 ]; + requiredGems = [ g.hike_1_2_3 g.multi_json_1_7_7 g.rack_1_5_2 g.tilt_1_4_1 ]; sha256 = ''1z0kiaymvqm07wqqy479vd8a60ggr3f3520b4splljbn2055fn3s''; }; sprockets_rails_2_0_0 = { @@ -1557,37 +1578,6 @@ interpreters.''; requiredGems = [ ]; sha256 = ''0h834ajdg9w4xrijp31fn98pjfj08gi08xjvp5xh3i6hz9a25fhr''; }; - taskjuggler_3_5_0 = { - basename = ''taskjuggler''; - meta = { - description = ''A Project Management Software''; - homepage = ''http://www.taskjuggler.org''; - longDescription = ''TaskJuggler is a modern and powerful, Free and Open Source Software project -management tool. Its new approach to project planing and tracking is more -flexible and superior to the commonly used Gantt chart editing tools. - -TaskJuggler is project management software for serious project managers. It -covers the complete spectrum of project management tasks from the first idea -to the completion of the project. It assists you during project scoping, -resource assignment, cost and revenue planing, risk and communication -management. -''; - }; - name = ''taskjuggler-3.5.0''; - requiredGems = [ g.mail_2_5_4 g.term_ansicolor_1_2_2 ]; - sha256 = ''0r84rlc7a6w7p9nc9mgycbs5h0hq0kzscjq7zj3296xyf0afiwj2''; - }; - term_ansicolor_1_2_2 = { - basename = ''term_ansicolor''; - meta = { - description = ''Ruby library that colors strings using ANSI escape sequences''; - homepage = ''http://flori.github.com/term-ansicolor''; - longDescription = ''This library uses ANSI escape sequences to control the attributes of terminal output''; - }; - name = ''term-ansicolor-1.2.2''; - requiredGems = [ g.tins_0_8_3 ]; - sha256 = ''1b41q1q6mqcgzq9fhzhmjvfg5sfs5v7gkb8z57r4hajcp89lflxr''; - }; text_1_2_1 = { basename = ''text''; meta = { @@ -1599,6 +1589,17 @@ management. requiredGems = [ ]; sha256 = ''0s186kh125imdr7dahr10payc1gmxgk6wjy1v3agdyvl53yn5z3z''; }; + therubyracer_0_11_4 = { + basename = ''therubyracer''; + meta = { + description = ''Embed the V8 JavaScript interpreter into Ruby''; + homepage = ''http://github.com/cowboyd/therubyracer''; + longDescription = ''Call JavaScript code and manipulate JavaScript objects from Ruby. Call Ruby code and manipulate Ruby objects from JavaScript.''; + }; + name = ''therubyracer-0.11.4''; + requiredGems = [ g.ref_1_0_5 g.libv8_3_11_8_17_x86_64_linux ]; + sha256 = ''15n9zi9jzb5k34id9xfkxx39y0nap7a4h02z8r00msjjajxag3iq''; + }; thin_1_5_1 = { basename = ''thin''; meta = { @@ -1621,16 +1622,16 @@ management. requiredGems = [ ]; sha256 = ''0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3''; }; - thread_safe_0_1_2 = { + thread_safe_0_1_0 = { basename = ''thread_safe''; meta = { description = ''A collection of data structures and utilities to make thread-safe programming in Ruby easier''; homepage = ''https://github.com/headius/thread_safe''; longDescription = ''Thread-safe collections and utilities for Ruby''; }; - name = ''thread_safe-0.1.2''; - requiredGems = [ g.atomic_1_1_12 ]; - sha256 = ''1bxyh5l11inadbk7pjyz5s98g24qj8xavh55bc56nrzj51y9aavy''; + name = ''thread_safe-0.1.0''; + requiredGems = [ g.atomic_1_1_10 ]; + sha256 = ''0fhx4110il4iiij5wdfq3afn0wvsz7pdvmx5v2zv24gah1861rsf''; }; tilt_1_4_1 = { basename = ''tilt''; From e242ae058d88fedc8be8873d6070e8ca4cbf6e07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sat, 10 Aug 2013 14:30:53 +0200 Subject: [PATCH 31/44] virtualbox: fix extension pack hash (must be base16) --- pkgs/applications/virtualization/virtualbox/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 724dc6ca16e9..09b6e015a931 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -34,8 +34,10 @@ let extpackRevision = "86992"; extensionPack = requireFile rec { name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack"; - # Has to be base16 because it's used as an input to VBoxExtPackHelperApp! - sha256 = "03gsl0548hrcspl5mi7snng08phwd3vfn6qmx41h2xwvwvmv324g"; + # IMPORTANT: Hash must be base16 encoded because it's used as an input to + # VBoxExtPackHelperApp! + # Tip: nix-hash --type sha256 --to-base16 "hash from nix-prefetch-url" + sha256 = "8f88b1ebe69b770103e9151bebf6681c5e049eb5fac45ae8d52c43440aa0fa0d"; message = '' In order to use the extension pack, you need to comply with the VirtualBox Personal Use and Evaluation License (PUEL) by downloading the related binaries from: From 4e8dfe71d3830ff79619b0e9096dc7202de1190d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 4 Jul 2013 21:19:25 +0200 Subject: [PATCH 32/44] liburcu: new package liburcu is a userspace RCU (read-copy-update) library that is used by LTTng - Linux Trace Toolkit (next generation). --- .../development/libraries/liburcu/default.nix | 20 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/development/libraries/liburcu/default.nix diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix new file mode 100644 index 000000000000..74c6b8fa615e --- /dev/null +++ b/pkgs/development/libraries/liburcu/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + version = "0.7.7"; + name = "liburcu-${version}"; + + src = fetchurl { + url = "http://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2"; + sha256 = "1yxxnhrsy6sv6bmp7j96jjynnqns01zjgj94mk70jz54zvcagf4a"; + }; + + meta = with stdenv.lib; { + description = "Userspace RCU (read-copy-update) library"; + homepage = http://lttng.org/urcu; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 53c3ba9ec73a..bc9e0ccbc986 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4860,6 +4860,8 @@ let libunique = callPackage ../development/libraries/libunique/default.nix { }; + liburcu = callPackage ../development/libraries/liburcu { }; + libusb = callPackage ../development/libraries/libusb { stdenv = if stdenv.isDarwin then overrideGCC stdenv gccApple From 33d78777a3a9fb3802e4c7d5332519f921d182db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 4 Jul 2013 21:32:12 +0200 Subject: [PATCH 33/44] lttng-ust: new package This is the user space library for LTTng. It is needed to do user space tracing, as opposed to kernel space tracing. --- .../tools/misc/lttng-ust/default.nix | 32 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/development/tools/misc/lttng-ust/default.nix diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix new file mode 100644 index 000000000000..d234a7b74f8a --- /dev/null +++ b/pkgs/development/tools/misc/lttng-ust/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, liburcu }: + +# NOTE: +# ./configure ... +# [...] +# LTTng-UST will be built with the following options: +# +# Java support (JNI): Disabled +# sdt.h integration: Disabled +# [...] +# +# Debian builds with std.h (systemtap). + +stdenv.mkDerivation rec { + name = "lttng-ust-2.2.1"; + + src = fetchurl { + url = "https://lttng.org/files/lttng-ust/${name}.tar.bz2"; + sha256 = "0881ri3v96fjii24qnwgsypk4crri4qp6mc4zp7kwghz8gys9rla"; + }; + + buildInputs = [ liburcu ]; + + meta = with stdenv.lib; { + description = "LTTng Userspace Tracer libraries"; + homepage = http://lttng.org/; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bc9e0ccbc986..d4e467267c65 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3542,6 +3542,8 @@ let ltrace = callPackage ../development/tools/misc/ltrace { }; + lttngUst = callPackage ../development/tools/misc/lttng-ust { }; + mk = callPackage ../development/tools/build-managers/mk { }; neoload = callPackage ../development/tools/neoload { From 6a4f068b9eb4928ab6ae131153a3cdc98c788730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 4 Jul 2013 21:38:23 +0200 Subject: [PATCH 34/44] lttng-tools: new package This is the Linux Trace Toolkit. Included in this package: Command-line client: lttng Tracing daemons: lttng-sessiond (automatically started by lttng) lttng-relayd (remote trace collection daemon) Userspace tracing can be done by using liblttng-ust. To do kernel tracing we also need the LTTng kernel modules. I've added a patch that changes "/sbin/modprobe" to just "modprobe". --- .../tools/misc/lttng-tools/default.nix | 23 ++++++++ ...-path-from-sbin-modprobe-to-modprobe.patch | 53 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 78 insertions(+) create mode 100644 pkgs/development/tools/misc/lttng-tools/default.nix create mode 100644 pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix new file mode 100644 index 000000000000..9bc24b9387bf --- /dev/null +++ b/pkgs/development/tools/misc/lttng-tools/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, popt, libuuid, liburcu, lttngUst }: + +stdenv.mkDerivation rec { + name = "lttng-tools-2.2.3"; + + src = fetchurl { + url = "https://lttng.org/files/lttng-tools/${name}.tar.bz2"; + sha256 = "1p16n42j34xkaj17zg2g12rzkfwpdv9ay1h4bkdq6038v320mljv"; + }; + + buildInputs = [ popt libuuid liburcu lttngUst ]; + + patches = [ ./lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch ]; + + meta = with stdenv.lib; { + description = "Tracing tools (kernel + user space) for Linux"; + homepage = http://lttng.org/; + license = licenses.lgpl21; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; + +} diff --git a/pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch b/pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch new file mode 100644 index 000000000000..7d9edbda97ae --- /dev/null +++ b/pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch @@ -0,0 +1,53 @@ +From daba2e936571a236817022b760d91c48b730c30b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= +Date: Tue, 9 Jul 2013 23:47:47 +0200 +Subject: [PATCH] Change modprobe path from "/sbin/modprobe" to "modprobe" + (rely on PATH lookup) + +--- + src/bin/lttng-sessiond/modprobe.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/bin/lttng-sessiond/modprobe.c b/src/bin/lttng-sessiond/modprobe.c +index 7e06dad..4075efe 100644 +--- a/src/bin/lttng-sessiond/modprobe.c ++++ b/src/bin/lttng-sessiond/modprobe.c +@@ -90,7 +90,7 @@ void modprobe_remove_lttng_control(void) + + for (i = ARRAY_SIZE(kern_modules_control) - 1; i >= 0; i--) { + ret = snprintf(modprobe, sizeof(modprobe), +- "/sbin/modprobe -r -q %s", ++ "modprobe -r -q %s", + kern_modules_control[i].name); + if (ret < 0) { + PERROR("snprintf modprobe -r"); +@@ -125,7 +125,7 @@ void modprobe_remove_lttng_data(void) + + for (i = ARRAY_SIZE(kern_modules_list) - 1; i >= 0; i--) { + ret = snprintf(modprobe, sizeof(modprobe), +- "/sbin/modprobe -r -q %s", ++ "modprobe -r -q %s", + kern_modules_list[i].name); + if (ret < 0) { + PERROR("snprintf modprobe -r"); +@@ -169,7 +169,7 @@ int modprobe_lttng_control(void) + + for (i = 0; i < ARRAY_SIZE(kern_modules_control); i++) { + ret = snprintf(modprobe, sizeof(modprobe), +- "/sbin/modprobe %s%s", ++ "modprobe %s%s", + kern_modules_control[i].required ? "" : "-q ", + kern_modules_control[i].name); + if (ret < 0) { +@@ -205,7 +205,7 @@ int modprobe_lttng_data(void) + + for (i = 0; i < ARRAY_SIZE(kern_modules_list); i++) { + ret = snprintf(modprobe, sizeof(modprobe), +- "/sbin/modprobe %s%s", ++ "modprobe %s%s", + kern_modules_list[i].required ? "" : "-q ", + kern_modules_list[i].name); + if (ret < 0) { +-- +1.8.2.3 + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d4e467267c65..f47dcb408867 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3542,6 +3542,8 @@ let ltrace = callPackage ../development/tools/misc/ltrace { }; + lttngTools = callPackage ../development/tools/misc/lttng-tools { }; + lttngUst = callPackage ../development/tools/misc/lttng-ust { }; mk = callPackage ../development/tools/build-managers/mk { }; From 1eb38f2ccb02f9a92d7206e1218d113415239244 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 4 Jul 2013 21:41:34 +0200 Subject: [PATCH 35/44] babeltrace: new package Babeltrace is a command-line tool and library to read and convert LTTng tracefiles. Give it a (binary) trace file/dir path and it will print a human readable event log to standard out. --- .../tools/misc/babeltrace/default.nix | 21 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/development/tools/misc/babeltrace/default.nix diff --git a/pkgs/development/tools/misc/babeltrace/default.nix b/pkgs/development/tools/misc/babeltrace/default.nix new file mode 100644 index 000000000000..d19bb24eb370 --- /dev/null +++ b/pkgs/development/tools/misc/babeltrace/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pkgconfig, glib, libuuid, popt }: + +stdenv.mkDerivation rec { + name = "babeltrace-1.1.1"; + + src = fetchurl { + url = "http://www.efficios.com/files/babeltrace/${name}.tar.bz2"; + sha256 = "04jc1yd3aaq59fmpzswzc78cywpq7wzjfqdlsg7xc76ivb8cggfz"; + }; + + buildInputs = [ pkgconfig glib libuuid popt ]; + + meta = with stdenv.lib; { + description = "Command-line tool and library to read and convert LTTng tracefiles"; + homepage = http://www.efficios.com/babeltrace; + license = licenses.mit; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f47dcb408867..d7f7a9b467b4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3302,6 +3302,8 @@ let avarice = callPackage ../development/tools/misc/avarice { }; + babeltrace = callPackage ../development/tools/misc/babeltrace { }; + bam = callPackage ../development/tools/build-managers/bam {}; binutils = callPackage ../development/tools/misc/binutils { From 5a3a82d81c6447eb25210adbc145ecf01edf54ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sat, 6 Jul 2013 10:56:42 +0200 Subject: [PATCH 36/44] lttv: new package Linux Trace Toolkit Viewer is a GUI program to visualize LTTng trace files. (An alternative to this program is the LTTng plugin for the Eclipse IDE.) --- pkgs/development/tools/misc/lttv/default.nix | 23 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/development/tools/misc/lttv/default.nix diff --git a/pkgs/development/tools/misc/lttv/default.nix b/pkgs/development/tools/misc/lttv/default.nix new file mode 100644 index 000000000000..df9f81d02e63 --- /dev/null +++ b/pkgs/development/tools/misc/lttv/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, pkgconfig, glib, gtk2, popt, babeltrace }: + +stdenv.mkDerivation rec { + name = "lttv-1.5-beta1"; + + src = fetchurl { + url = "http://lttng.org/files/packages/${name}.tar.bz2"; + sha256 = "0cz69q189wndwpvic0l6wvzl1nsfqadbrigaaxgzij72r7n89sfc"; + }; + + buildInputs = [ pkgconfig glib gtk2 popt babeltrace ]; + + meta = with stdenv.lib; { + description = "Graphical trace viewer for LTTng trace files"; + homepage = http://lttng.org/; + # liblttvtraceread (ltt/ directory) is distributed under the GNU LGPL v2.1. + # The rest of the LTTV package is distributed under the GNU GPL v2. + license = with licenses; [ gpl2 lgpl21 ]; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d7f7a9b467b4..d2f6a3b52114 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3548,6 +3548,8 @@ let lttngUst = callPackage ../development/tools/misc/lttng-ust { }; + lttv = callPackage ../development/tools/misc/lttv { }; + mk = callPackage ../development/tools/build-managers/mk { }; neoload = callPackage ../development/tools/neoload { From 70ea99cfa8e75ae2efa2a4cbc37ee8c20ea6fa72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 4 Jul 2013 22:34:32 +0200 Subject: [PATCH 37/44] lttng-modules: new package Add linux kernel modules needed to do kernel tracing with LTTng. To make them available to lttng in NixOS, add this to configuration.nix: boot.extraModulePackages = [ pkgs.linuxPackages.lttngModules ]; --- .../linux/lttng-modules/default.nix | 31 +++++++++++++++++ .../lttng-fix-build-error-on-linux-3.2.patch | 33 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 66 insertions(+) create mode 100644 pkgs/os-specific/linux/lttng-modules/default.nix create mode 100644 pkgs/os-specific/linux/lttng-modules/lttng-fix-build-error-on-linux-3.2.patch diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix new file mode 100644 index 000000000000..ee80b7632ba1 --- /dev/null +++ b/pkgs/os-specific/linux/lttng-modules/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, kernelDev }: + +stdenv.mkDerivation rec { + pname = "lttng-modules-2.2.1"; + name = "${pname}-${kernelDev.version}"; + + src = fetchurl { + url = "https://lttng.org/files/lttng-modules/${pname}.tar.bz2"; + sha256 = "00ww1443ssv614s1ix6zby8llaf6zzlxcf5k4w7jsyji47ng33m2"; + }; + + patches = [ ./lttng-fix-build-error-on-linux-3.2.patch ]; + + preConfigure = '' + export KERNELDIR="${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build" + export INSTALL_MOD_PATH="$out" + ''; + + installPhase = '' + make modules_install + ''; + + meta = with stdenv.lib; { + description = "Linux kernel modules for LTTng tracing"; + homepage = http://lttng.org/; + license = with licenses; [ lgpl21 gpl2 mit ]; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; + +} diff --git a/pkgs/os-specific/linux/lttng-modules/lttng-fix-build-error-on-linux-3.2.patch b/pkgs/os-specific/linux/lttng-modules/lttng-fix-build-error-on-linux-3.2.patch new file mode 100644 index 000000000000..dfe6d21be841 --- /dev/null +++ b/pkgs/os-specific/linux/lttng-modules/lttng-fix-build-error-on-linux-3.2.patch @@ -0,0 +1,33 @@ +When building against linux 3.2, we get this build error: + + building /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/lttng-probe-ext3.o + CC [M] /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/lttng-probe-ext3.o + In file included from /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/lttng-events.h:759:0, + from /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/define_trace.h:148, + from /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/ext3.h:868, + from /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/lttng-probe-ext3.c:48: + /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h: In function '__event_probe__ext3__page_op': + /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:240:1: error: dereferencing pointer to incomplete type + /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:240:1: error: dereferencing pointer to incomplete type + /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:240:1: error: dereferencing pointer to incomplete type + /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h: In function '__event_probe__ext3_invalidatepage': + /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:298:1: error: dereferencing pointer to incomplete type + /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:298:1: error: dereferencing pointer to incomplete type + /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:298:1: error: dereferencing pointer to incomplete type + +because a check for existing ext3/*h files in the kernel build tree is skipped +for linux < 3.4. Fix it by extending the ext3_dep_check thing to also be run +when building against linux >= 3.2 (not only linux >= 3.4). + +diff -uNr lttng-modules-2.2.0.orig/probes/Makefile lttng-modules-2.2.0/probes/Makefile +--- lttng-modules-2.2.0.orig/probes/Makefile 2013-06-19 03:22:44.000000000 +0200 ++++ lttng-modules-2.2.0/probes/Makefile 2013-07-06 13:22:15.902957717 +0200 +@@ -59,7 +59,7 @@ + ext3_dep_check = $(wildcard $(ext3_dep)) + ext3 = $(shell \ + if [ $(VERSION) -ge 3 -a $(PATCHLEVEL) -ge 1 ] ; then \ +- if [ $(VERSION) -ge 3 -a $(PATCHLEVEL) -ge 4 -a \ ++ if [ $(VERSION) -ge 3 -a $(PATCHLEVEL) -ge 2 -a \ + -z "$(ext3_dep_check)" ] ; then \ + echo "warn" ; \ + exit ; \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d2f6a3b52114..7c2e36478165 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6521,6 +6521,8 @@ let iwlwifi4965ucode = iwlwifi4965ucodeV2; + lttngModules = callPackage ../os-specific/linux/lttng-modules { }; + atheros = callPackage ../os-specific/linux/atheros/0.9.4.nix { }; broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { }; From cf4e29b916bd8b597ff6748cc6f057e5cf43d86f Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Sat, 10 Aug 2013 15:06:01 +0200 Subject: [PATCH 38/44] Add pycurl2, a Python interface to libcurl --- pkgs/top-level/python-packages.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 53128c6bb2a8..ac68c66546ef 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3818,6 +3818,26 @@ pythonPackages = modules // rec { }; }); + + pycurl2 = buildPythonPackage (rec { + name = "pycurl2-7.20.0"; + + src = fetchgit { + url = "https://github.com/Lispython/pycurl.git"; + rev = "0f00109950b883d680bd85dc6e8a9c731a7d0d13"; + sha256 = "0mhg7f9y5zl0m2xgz3rf1yqjd6l8n0qhfk7bpf36r44jfnhj75ld"; + }; + + buildInputs = [ pkgs.curl simplejson unittest2 nose ]; + + meta = { + homepage = https://pypi.python.org/pypi/pycurl2; + description = "A fork from original PycURL library that no maintained from 7.19.0"; + platforms = stdenv.lib.platforms.linux; + }; + }); + + pydot = buildPythonPackage rec { name = "pydot-1.0.2"; From 46d887aca90f7054e254badcb99060c5b6d08cd5 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Sat, 10 Aug 2013 15:26:07 +0200 Subject: [PATCH 39/44] pythonPackages: fix carbon, move dependecies to propagated build inputs --- pkgs/top-level/python-packages.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 53128c6bb2a8..d90df47bb6e3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6395,8 +6395,7 @@ pythonPackages = modules // rec { sha256 = "0wjhd87pvpcpvaj3wql2d92g8lpp33iwmxdkp7npic5mjl2y0dsg"; }; - buildInputs = [ txamqp zope_interface twisted ]; - propagatedBuildInputs = [ whisper ]; + propagatedBuildInputs = [ whisper txamqp zope_interface twisted ]; # error: invalid command 'test' doCheck = false; From 15637cf207bf8fe693e4de1f4c8ee73a6d664898 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sat, 10 Aug 2013 21:00:14 +0400 Subject: [PATCH 40/44] Add HTTPS support to Midori --- pkgs/applications/networking/browsers/midori/default.nix | 7 ++++++- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix index b15c05c7b493..4d561737d276 100644 --- a/pkgs/applications/networking/browsers/midori/default.nix +++ b/pkgs/applications/networking/browsers/midori/default.nix @@ -12,6 +12,7 @@ let gtksourceview pkgconfig which gettext makeWrapper file libidn sqlite docutils libnotify libsoup vala kbproto xproto scrnsaverproto libXScrnSaver dbus_glib + glib_networking ]; in rec { @@ -34,7 +35,11 @@ rec { shebangsHere = (doPatchShebangs "."); shebangsInstalled = (doPatchShebangs "$out/bin"); - wrapWK = (makeManyWrappers "$out/bin/*" "--set WEBKIT_IGNORE_SSL_ERRORS 1"); + wrapWK = (makeManyWrappers "$out/bin/*" + '' + --set WEBKIT_IGNORE_SSL_ERRORS 1 \ + --prefix GIO_EXTRA_MODULES : "${args.glib_networking}/lib/gio/modules" + ''); name = "midori-${version}.${release}"; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7c2e36478165..4c573ceebf99 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8015,7 +8015,7 @@ let midori = builderDefsPackage (import ../applications/networking/browsers/midori) { inherit imagemagick intltool python pkgconfig webkit libxml2 which gettext makeWrapper file libidn sqlite docutils libnotify - vala dbus_glib; + vala dbus_glib glib_networking; inherit gtk3 glib; inherit (gnome) gtksourceview; inherit (webkit.passthru.args) libsoup; From 3065a7686bfb247b0ddca9967a38ffdb6ed57b32 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Sat, 10 Aug 2013 20:07:36 +0300 Subject: [PATCH 41/44] torbutton: package version 1.6.1 --- pkgs/tools/security/torbutton/default.nix | 29 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/tools/security/torbutton/default.nix diff --git a/pkgs/tools/security/torbutton/default.nix b/pkgs/tools/security/torbutton/default.nix new file mode 100644 index 000000000000..348d96b00247 --- /dev/null +++ b/pkgs/tools/security/torbutton/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchgit, zip }: +stdenv.mkDerivation rec { + + name = "torbutton-${version}.xpi"; + version = "1.6.1"; + + src = fetchgit { + url = https://git.torproject.org/torbutton.git; + rev = "refs/tags/${version}"; + sha256 = "0ypzrl8nhckrgh45rcwsjds1jnzz3w5nr09b926a4h3a5njammlv"; + }; + + buildInputs = [ zip ]; + + buildPhase = '' + mkdir pkg + ./makexpi.sh + ''; + + installPhase = "cat pkg/*.xpi > $out"; + + meta = with stdenv.lib; { + homepage = https://www.torproject.org/torbutton/; + description = "the component in Tor Browser Bundle that takes care of application-level security and privacy concerns in Firefox. To keep you safe, Torbutton disables many types of active content."; + license = licenses.mit; + maintainers = [ maintainers.phreedom ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4c573ceebf99..2488f3339f52 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1788,6 +1788,8 @@ let tor = callPackage ../tools/security/tor { }; + torbutton = callPackage ../tools/security/torbutton { }; + torsocks = callPackage ../tools/security/tor/torsocks.nix { }; trickle = callPackage ../tools/networking/trickle {}; From f3cae400e04c7432188bc69a36c8cd652d022b1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 10 Aug 2013 20:26:35 +0200 Subject: [PATCH 42/44] unclutter: add to channel --- pkgs/tools/misc/unclutter/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/unclutter/default.nix b/pkgs/tools/misc/unclutter/default.nix index 8cf31ff72085..b267074e77fa 100644 --- a/pkgs/tools/misc/unclutter/default.nix +++ b/pkgs/tools/misc/unclutter/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { make DESTDIR="$out" MANPATH="$out/share/man" PREFIX="" install.man ''; - meta = { + meta = with stdenv.lib; { description = "Hides mouse pointer while not in use."; longDescription = '' Unclutter hides your X mouse cursor when you do not need it, to prevent @@ -28,5 +28,7 @@ stdenv.mkDerivation { unclutter -idle 1 & ''; + maintainers = with maintainers; [ iElectric ]; + platforms = platforms.unix; }; } From 4705462a2ff49fd4434be68c5054dd837b55d3a0 Mon Sep 17 00:00:00 2001 From: Song Wenwu Date: Sun, 11 Aug 2013 11:15:07 +0800 Subject: [PATCH 43/44] add libvisual 0.4.0 --- .../libraries/libvisual/default.nix | 19 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/development/libraries/libvisual/default.nix diff --git a/pkgs/development/libraries/libvisual/default.nix b/pkgs/development/libraries/libvisual/default.nix new file mode 100644 index 000000000000..b831fd9bdd33 --- /dev/null +++ b/pkgs/development/libraries/libvisual/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, pkgconfig, glib }: + +stdenv.mkDerivation rec { + name = "libvisual-0.4.0"; + + src = fetchurl { + url = "mirror://sourceforge/libvisual/${name}.tar.gz"; + sha256 = "1my1ipd5k1ixag96kwgf07bgxkjlicy9w22jfxb2kq95f6wgsk8b"; + }; + + buildInputs = [ pkgconfig glib ]; + + meta = { + description = "An abstraction library for audio visualisations"; + homepage = "http://sourceforge.net/projects/libvisual/"; + license = stdenv.lib.licenses.lgpl21Plus; + platform = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2488f3339f52..f4b5a7149e87 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4898,6 +4898,8 @@ let libvisio = callPackage ../development/libraries/libvisio { }; + libvisual = callPackage ../development/libraries/libvisual { }; + libvncserver = builderDefsPackage (import ../development/libraries/libvncserver) { inherit libtool libjpeg openssl zlib; inherit (xlibs) xproto libX11 damageproto libXdamage From d068505b2f2c00f9a2491f2d648b302e30f025e3 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Sun, 11 Aug 2013 07:59:30 +0300 Subject: [PATCH 44/44] leiningen: fix hash --- pkgs/development/tools/build-managers/leiningen/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix index d7f819c45f6b..d041dbb58616 100644 --- a/pkgs/development/tools/build-managers/leiningen/default.nix +++ b/pkgs/development/tools/build-managers/leiningen/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { jarsrc = fetchurl { url = "https://leiningen.s3.amazonaws.com/downloads/${pname}-${version}-standalone.jar"; - sha256 = "1higd309b43lly7fv1pd5lfd3lyrij95nrzklqmk8vf9llw6974p"; + sha256 = "04xmnw80f39qs2vfm5ic8bmhks1fvasiwg4snckg2zhfjkhzms05"; }; patches = ./lein_2.3.0.patch;