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. I'm afraid I know very little about ruby or gems etc., so any help/pointers would be appreciated. Thanks! Cillian 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 > > 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: > > { stdenv, lib, bundlerEnv, gpgme, ruby, ncurses, writeText, zlib, xapian > , pkgconfig, which }: > > bundlerEnv { > name = "sup-0.20.0"; > > inherit ruby; > gemfile = ./Gemfile; > lockfile = ./Gemfile.lock; > gemset = ./gemset.nix; > > # This is implicit: > # > # gemConfig = defaultGemConfig; > # > # You could just as well do the following: > # > # gemConfig.ncursesw = spec: { > # buildInputs = [ ncurses ]; > # buildFlags = [ > # "--with-cflags=-I${ncurses}/include" > # "--with-ldflags=-L${ncurses}/lib" > # ]; > # }; > # > # Where `spec` is the attributes of the corresponding gem, > # in case you wanted to make something predicated on version, > # for example. > # > # See default-gem-config.nix for more examples. > > meta = with lib; { > description = "A curses threads-with-tags style email client"; > homepage = http://supmua.org; > license = with licenses; gpl2; > maintainers = with maintainers; [ cstrahan lovek323 ]; > platforms = platforms.unix; > }; > } > > And that's all there is to it! > > Enjoy, > > -Charles > > > _______________________________________________ > nix-dev mailing list > nix-dev@lists.science.uu.nl > http://lists.science.uu.nl/mailman/listinfo/nix-dev > > -- 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