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

treewide: use https addresses where possible #30906

Closed
wants to merge 1 commit into from

Conversation

iblech
Copy link
Contributor

@iblech iblech commented Oct 28, 2017

Motivation for this change

In my social circle, it's considered slightly inpolite to use http instead of https addresses. :-) Therefore I thought to give rewriting of all http addresses in the nixpkgs repository a go, just as an experiment.

Of the approximately 13000 http links contained in this repository, 5000 could be rewritten as https links, 3000 couldn't be upgraded, and 4000 were 404's. The numbers are not very precise, since I didn't bother to accurately filter local and example addresses, and also because at one point during the test my internet connection was flaky.

If you want to study the diff, then I recommend using git diff -U0 to only show changed lines. The context, which is usually quite helpful, is here distracting.

This pull request isn't primarily meant to be merged. In particular, I didn't rebuild all of NixOS to check for breakage. :-) Rather, I just wanted to raise awareness of this issue. (I'm not trying to start a religious war and don't particularly care. Of course the issue is not really an issue for NixOS since we verify sha256sums. Still we could gain street creds if we could proclaim that "NixOS doesn't contain a single http link".)

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.

@iblech
Copy link
Contributor Author

iblech commented Oct 28, 2017

For anyone wondering, the Travis build fails with "argument list too long" because the number of files touched by this commit is too large. This is probably a good thing.

Copy link
Member

@grahamc grahamc left a comment

Choose a reason for hiding this comment

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

I reviewed some. how did you test it? A script?

@@ -670,7 +670,7 @@ src = fetchFromGitHub {
patches = [
(fetchpatch {
name = "fix-check-for-using-shared-freetype-lib.patch";
url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d285";
url = "https://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d285";
Copy link
Member

Choose a reason for hiding this comment

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

👍

@@ -7,26 +7,26 @@ date: 2015-11-25
# Introduction

The Nix Packages collection (Nixpkgs) is a set of thousands of packages for the
[Nix package manager](http://nixos.org/nix/), released under a
[Nix package manager](https://nixos.org/nix/), released under a
Copy link
Member

Choose a reason for hiding this comment

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

👍

[permissive MIT/X11 license](https://github.com/NixOS/nixpkgs/blob/master/COPYING).
Packages are available for several platforms, and can be used with the Nix
package manager on most GNU/Linux distributions as well as NixOS.

This manual primarily describes how to write packages for the Nix Packages collection
(Nixpkgs). Thus it’s mainly for packagers and developers who want to add packages to
Nixpkgs. If you like to learn more about the Nix package manager and the Nix
expression language, then you are kindly referred to the [Nix manual](http://nixos.org/nix/manual/).
expression language, then you are kindly referred to the [Nix manual](https://nixos.org/nix/manual/).
Copy link
Member

Choose a reason for hiding this comment

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

👍


## Overview of Nixpkgs

Nix expressions describe how to build packages from source and are collected in
the [nixpkgs repository](https://github.com/NixOS/nixpkgs). Also included in the
collection are Nix expressions for
[NixOS modules](http://nixos.org/nixos/manual/index.html#sec-writing-modules).
[NixOS modules](https://nixos.org/nixos/manual/index.html#sec-writing-modules).
Copy link
Member

Choose a reason for hiding this comment

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

👍

With these expressions the Nix package manager can build binary packages.

Packages, including the Nix packages collection, are distributed through
[channels](http://nixos.org/nix/manual/#sec-channels). The collection is
[channels](https://nixos.org/nix/manual/#sec-channels). The collection is
Copy link
Member

Choose a reason for hiding this comment

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

👍

It has first-class support for Nix. Stack can optionally use Nix to
automatically select the right version of GHC and other build tools to build,
test and execute apps in an existing project downloaded from somewhere on the
Internet. Pass the `--nix` flag to any `stack` command to do so, e.g.
```shell
git clone --recursive http://github.com/yesodweb/wai
git clone --recursive https://github.com/yesodweb/wai
Copy link
Member

Choose a reason for hiding this comment

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

👍

@@ -890,7 +890,7 @@ failures. Additionally the source of your package is gotten from first invoking
#### checkUnusedPackages

Applying `haskell.lib.checkUnusedPackages` to a Haskell package invokes
the [packunused](http://hackage.haskell.org/package/packunused) tool on the
the [packunused](https://hackage.haskell.org/package/packunused) tool on the
Copy link
Member

Choose a reason for hiding this comment

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

this file looks good

@@ -563,7 +563,7 @@ The following is an example:
propagatedBuildInputs = [ self.ZopeInterface ];

meta = {
homepage = http://twistedmatrix.com/;
homepage = https://twistedmatrix.com/;
description = "Twisted, an event-driven networking engine written in Python";
license = stdenv.lib.licenses.mit;
};
Copy link
Member

Choose a reason for hiding this comment

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

This file looks good.

@@ -34,7 +34,7 @@ bundlerEnv rec {

meta = with lib; {
description = "A monitoring framework that aims to be simple, malleable, and scalable";
homepage = http://sensuapp.org/;
homepage = https://sensuapp.org/;
license = with licenses; mit;
maintainers = with maintainers; [ theuni ];
platforms = 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.

👍

</varlistentry>

<varlistentry>
<term><varname>downloadPage</varname></term>
<listitem><para>The page where a link to the current version can be found. Example:
<literal>http://ftp.gnu.org/gnu/hello/</literal></para></listitem>
<literal>https://ftp.gnu.org/gnu/hello/</literal></para></listitem>
</varlistentry>

<varlistentry>
Copy link
Member

Choose a reason for hiding this comment

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

this file looks good.

Copy link
Member

@rycee rycee left a comment

Choose a reason for hiding this comment

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

I like the idea! The Eclipse and Perl related links look OK.

@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
''; # */

meta = {
homepage = http://www.eclipse.org/;
homepage = https://www.eclipse.org/;
Copy link
Member

Choose a reason for hiding this comment

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

👍

@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {

homepage = http://www.eclipse.org/jdt/core/index.php;

# http://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
# https://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
Copy link
Member

Choose a reason for hiding this comment

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

👍

@FRidh
Copy link
Member

FRidh commented Feb 11, 2018

I like the idea, but this is too large to review/test. In this case I think it is important to share the script that was used for making and testing this change. As it is now also outdated I am closing this.

@FRidh FRidh closed this Feb 11, 2018
@iblech
Copy link
Contributor Author

iblech commented Feb 11, 2018

Thank you @FRidh for your feedback! I'll convert this pull request into a (low-priority) issue and publish the script. It's just a couple of lines of good old Perl 5 code. :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants