Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

woof: init at 2012-05-31 #33861

Closed
wants to merge 3 commits into from
Closed

woof: init at 2012-05-31 #33861

wants to merge 3 commits into from

Conversation

lschuermann
Copy link
Member

@lschuermann lschuermann commented Jan 14, 2018

Motivation for this change

woof (Web Offer One File) is a small and simple command line utility written in Python that makes file sharing in a local network easy.
The most basic usecase is to just start it with a file as an argument, which it then serves via an HTTP web-server. Additionally, it is able to compress and serve a folder, provide an upload form, or even offer itself using command line switches.

This is a very useful utility I would not like to miss on any portable computers.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

Note that when woof is used with the -s option (serving itself), because of how the package gets built, it offers the Python file with the path to the Python interpreter hardcoded inside the Nix-store. I'd accept that as a compromise, as I think that fixing this would either require changing the woof source itself or the way Nix packages get built. Also, people wanting to get woof should use the awesome Nix package-manager anyway. ;)

Is it possible for me to become a maintainer for this package? If so, what steps should I follow? I sadly can't remember all of the awesomeness that was shown to me by the NixOS assembly at 34C3.

description = "Web Offer One File - Command-line utility to easily exchange files over a local network";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.unix;
};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To add yourself as a maintainer, use

maintainers = with stdenv.lib.maintainers; [ lschuermann ];

And don't forget to add yourself to https://github.com/NixOS/nixpkgs/blob/master/lib/maintainers.nix

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you want to leave out all that stdenv.lib, you can do it like that:

meta = with stdenv.lib; {
  homepage = http://www.home.unix-ag.org/simon/woof.html;
  description = "Web Offer One File - Command-line utility to easily exchange files over a local network";
  license = licenses.gpl2Plus;
  platforms = platforms.unix;
  maintainers = with maintainers; [ lschuermann ];
};

};

buildInputs = [ python ];
runtimeDeps = [ python ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need for runtimeDeps.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I have to admit I still don't fully understand how buildInputs and runtimeDeps work. Would you mind pointing me in the right direction here? Of course I will remove it immediately.

Copy link
Member

@dotlambda dotlambda Jan 14, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, I've never seen runtimeDeps before. But when I tested, it worked without.
The manual has a nice overview: https://nixos.org/nixpkgs/manual/#ssec-stdenv-attributes
Essentially, buildInputs are for run-time dependencies whereas nativeBuildInputs are for build-time dependencies.

@dotlambda
Copy link
Member

Maybe @FRidh can take a look at this?

@adisbladis
Copy link
Member

Pushed in a6dca04

Thanks :)

@adisbladis adisbladis closed this Jan 17, 2018
@lschuermann lschuermann deleted the woof branch October 14, 2018 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants