(use-modules (guix packages) (guix download) (guix build-system ruby) ((guix licenses) #:prefix license:) (gnu packages ruby)) (define ruby-ronn-ng (package (name "ruby-ronn-ng") (version "0.9.1") (home-page "asdf") (source (origin (method url-fetch) (uri (rubygems-uri "ronn-ng" version)) (sha256 (base32 "1slxfg57cabmh98fw507z4ka6lwq1pvbrqwppflxw6700pi8ykfh")))) (build-system ruby-build-system) (arguments `(#:phases (modify-phases %standard-phases ;; Debug phase, just to show that before any of this wrapping, the standard ruby 'wrap phase has ;; already done it's job, AND it gets over-written, for some strange reason. The (wrappings) ;; defined in the package itself don't seem to over-write each other. Hmm. (add-after 'wrap 'DEBUG (lambda _ (pk "Hey there, I'm closer than I appear!") (invoke "cat" (string-append (assoc-ref %outputs "out") "/bin/.ronn-real")) #t)) (add-after 'wrap 'wrap-program2 (lambda* (#:key outputs #:allow-other-keys) (let ((prog (string-append (assoc-ref %outputs "out") "/bin/ronn"))) (begin (display %build-inputs)(newline)) (wrap-program prog `("PATH" ":" suffix ,(map (lambda (exp_inpt) (string-append (assoc-ref %build-inputs exp_inpt) "/bin")) '("ruby-kramdown" "ruby-mustache" "ruby-nokogiri"))))) #t)) (add-after 'wrap 'wrap-program1 (lambda* (#:key outputs #:allow-other-keys) (let ((prog (string-append (assoc-ref %outputs "out") "/bin/ronn"))) (wrap-program prog `("FOO" ":" = ("BAR"))))#t)) ;; another add-after may go here ))) (inputs ;; note to self: these were propagated-inputs before `(("ruby-kramdown" ,ruby-kramdown) ("ruby-mustache" ,ruby-mustache) ("ruby-nokogiri" ,ruby-nokogiri))) (synopsis "Ronn-NG builds manuals in HTML and Unix man page format from Markdown.") (description "Ronn-NG builds manuals in HTML and Unix man page format from Markdown.") (license license:expat))) ;; license and home-page are mock values here ruby-ronn-ng