2015-02-10 19:25 GMT+01:00 Cillian de Róiste <cillian.deroi...@gmail.com>: > > Hi! > > I thought I'd try to package jekyll, but I've run into some trouble... > > 2015-01-22 5:29 GMT+01:00 Charles Strahan <charles.c.stra...@gmail.com>: >> >> To use the new system, first create (or copy over) a Gemfile describing the >> required gems. > > > I grabbed the Gemfile from the github repo: > $ wget https://raw.githubusercontent.com/jekyll/jekyll/master/Gemfile > > >> Next, create a Gemfile.lock by running `bundler package --no-install` in the >> containing directory (this also creates two folders - vendor and .bundle - >> which you'll want to delete before committing). > > > I had first installed pkgs.bundler, which got me version 1.7.9, which doesn't > have the --no-install option which seems to have been added in 1.8. I then > installed pkgs.bundler_HEAD which also reports the version to be 1.7.9 but > does have the --no-install option. However, I got stuck on the next step: > > $ bundler package --no-install > There are no gemspecs at /home/goibhniu/ruby/jekyll.
The second line has the word "gemspec", I commented it out and was able to get further I ran `bundler package --no-install --path vendor/bundle` which successfully created lockfile. >> Now, you'll need to dump the lockfile as a Nix expression. To do so, use >> Bundix >> in the target directory: >> >> $(nix-build '<nixpkgs>' -A bundix)/bin/bundix To avoid rebuilding the world I checked out 317d78d and tried to install bundix from there. I had to patch the hash for bundix and bundler [1], but then I was able to install bundix and create the gemset.nix \o/ >> >> That will drop a gemset.nix file in your current directory, which describes >> the >> sources for all of the gems and their respective SHAs. >> >> Finally, you'll need to use bundlerEnv to build the gems. The following >> example >> is how we package the sup mail reader: I copied the example nix expression, changed the name and added it to all-packages.nix to build it. All went quite well until I got the following error: ... Installing liquid 3.0.1 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /nix/store/wdjnbdyrvsfbg245qyp3r7qwhlhxzd1c-ruby-1.9.3-p547/bin/ruby -r ./siteconf20150210-115-km0s7e.rb extconf.rb creating Makefile make clean building clean-static building clean make building lexer.o compiling lexer.c lexer.c: In function 'lex_one': lexer.c:143:5: error: implicit declaration of function 'rb_enc_raise' [-Werror=implicit-function-declaration] rb_enc_raise(utf8_encoding, cLiquidSyntaxError, "Unexpected character %c", c); IIUC it fails to find some ruby header file. Any tips on how to proceed? Cheers, Cillian Patches [1]: diff --git a/pkgs/development/interpreters/ruby/bundix/gemset.nix b/pkgs/development/interpreters/ruby/bundix/gemset.nix index a2c633f..a3e732c 100644 --- a/pkgs/development/interpreters/ruby/bundix/gemset.nix +++ b/pkgs/development/interpreters/ruby/bundix/gemset.nix @@ -6,7 +6,7 @@ url = "https://github.com/cstrahan/bundix.git"; rev = "5df25b11b5b86e636754d54c2a8859c7c6ec78c7"; fetchSubmodules = false; - sha256 = "0334jsavpzkikcs7wrx7a3r0ilvr5vsnqd34lhc58b8cgvgll47p"; + sha256 = "1iqx12y777v8gszggj25x0xcf6lzllx58lmv53x6zy3jmvfh4siv"; }; dependencies = [ "thor" diff --git a/pkgs/development/interpreters/ruby/bundler-head.nix b/pkgs/development/interpreters/ruby/bundler-head.nix index 2e8cfc8..43a5961 100644 --- a/pkgs/development/interpreters/ruby/bundler-head.nix +++ b/pkgs/development/interpreters/ruby/bundler-head.nix @@ -5,7 +5,7 @@ buildRubyGem { src = fetchgit { url = "https://github.com/bundler/bundler.git"; rev = "a2343c9eabf5403d8ffcbca4dea33d18a60fc157"; - sha256 = "1l4r55n1wzr817l225l6pm97li1mxg9icd8s51cpfihh91nkdz68"; + sha256 = "1fywz0m3bb0fmcikhqbw9iaw67k29srwi8dllq6ni1cbm1xfyj46"; leaveDotGit = true; }; dontPatchShebangs = true; -- NixOS: The Purely Functional Linux Distribution http://nixos.org _______________________________________________ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev