summary refs log tree commit diff
path: root/pkgs/os-specific/linux/chromium-os
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/chromium-os')
-rw-r--r--pkgs/os-specific/linux/chromium-os/common-mk/default.nix2
-rw-r--r--pkgs/os-specific/linux/chromium-os/crosvm/default.nix4
-rw-r--r--pkgs/os-specific/linux/chromium-os/default.nix2
-rw-r--r--pkgs/os-specific/linux/chromium-os/libqmi/default.nix2
-rw-r--r--pkgs/os-specific/linux/chromium-os/minigbm/default.nix2
-rw-r--r--pkgs/os-specific/linux/chromium-os/modem-manager/next.nix2
-rw-r--r--pkgs/os-specific/linux/chromium-os/modp_b64/default.nix2
-rwxr-xr-xpkgs/os-specific/linux/chromium-os/update.py56
-rw-r--r--pkgs/os-specific/linux/chromium-os/upstream-info.json40
9 files changed, 63 insertions, 49 deletions
diff --git a/pkgs/os-specific/linux/chromium-os/common-mk/default.nix b/pkgs/os-specific/linux/chromium-os/common-mk/default.nix
index f07e418b56f..73862bcaa97 100644
--- a/pkgs/os-specific/linux/chromium-os/common-mk/default.nix
+++ b/pkgs/os-specific/linux/chromium-os/common-mk/default.nix
@@ -24,7 +24,7 @@
 , ... } @ args:
 
 let
-  platform2 = fetchFromGitiles upstreamInfo.components."chromiumos/platform2";
+  platform2 = fetchFromGitiles upstreamInfo.components."src/platform2";
 
   attrsToGnList = lib.mapAttrsToList (name: value: "${name}=${toGn value}");
 
diff --git a/pkgs/os-specific/linux/chromium-os/crosvm/default.nix b/pkgs/os-specific/linux/chromium-os/crosvm/default.nix
index 3813e3eb75a..8698ef67a83 100644
--- a/pkgs/os-specific/linux/chromium-os/crosvm/default.nix
+++ b/pkgs/os-specific/linux/chromium-os/crosvm/default.nix
@@ -9,10 +9,10 @@ let
     else throw "no seccomp policy files available for host platform";
 
   crosvmSrc = fetchFromGitiles
-    upstreamInfo.components."chromiumos/platform/crosvm";
+    upstreamInfo.components."src/platform/crosvm";
 
   adhdSrc = fetchFromGitiles
-    upstreamInfo.components."chromiumos/third_party/adhd";
+    upstreamInfo.components."src/third_party/adhd";
 in
 
   rustPlatform.buildRustPackage rec {
diff --git a/pkgs/os-specific/linux/chromium-os/default.nix b/pkgs/os-specific/linux/chromium-os/default.nix
index f9c6c88d072..db719e8b0f1 100644
--- a/pkgs/os-specific/linux/chromium-os/default.nix
+++ b/pkgs/os-specific/linux/chromium-os/default.nix
@@ -9,7 +9,7 @@ let
     upstreamInfo = lib.importJSON ./upstream-info.json;
 
     chromiumos-overlay = (fetchFromGitiles
-      upstreamInfo.components."chromiumos/overlays/chromiumos-overlay") // {
+      upstreamInfo.components."src/third_party/chromiumos-overlay") // {
         passthru.updateScript = ./update.py;
       };
 
diff --git a/pkgs/os-specific/linux/chromium-os/libqmi/default.nix b/pkgs/os-specific/linux/chromium-os/libqmi/default.nix
index ac444848b81..ec4f44c7047 100644
--- a/pkgs/os-specific/linux/chromium-os/libqmi/default.nix
+++ b/pkgs/os-specific/linux/chromium-os/libqmi/default.nix
@@ -8,7 +8,7 @@ libqmi.overrideAttrs (
     pname = "libqmi-unstable";
     version = "2019-12-16";
 
-    src = fetchFromGitiles upstreamInfo.components."chromiumos/third_party/libqmi";
+    src = fetchFromGitiles upstreamInfo.components."src/third_party/libqmi";
 
     nativeBuildInputs = nativeBuildInputs ++
       [ autoreconfHook autoconf-archive gtk-doc docbook-xsl-nons ];
diff --git a/pkgs/os-specific/linux/chromium-os/minigbm/default.nix b/pkgs/os-specific/linux/chromium-os/minigbm/default.nix
index 0a3cbf15997..6c532a4deb2 100644
--- a/pkgs/os-specific/linux/chromium-os/minigbm/default.nix
+++ b/pkgs/os-specific/linux/chromium-os/minigbm/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "minigbm";
   inherit (upstreamInfo) version;
 
-  src = fetchFromGitiles upstreamInfo.components."chromiumos/platform/minigbm";
+  src = fetchFromGitiles upstreamInfo.components."src/platform/minigbm";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libdrm ];
diff --git a/pkgs/os-specific/linux/chromium-os/modem-manager/next.nix b/pkgs/os-specific/linux/chromium-os/modem-manager/next.nix
index a074e82ff4b..91aa18b3846 100644
--- a/pkgs/os-specific/linux/chromium-os/modem-manager/next.nix
+++ b/pkgs/os-specific/linux/chromium-os/modem-manager/next.nix
@@ -9,7 +9,7 @@ modemmanager.overrideAttrs (
     version = "2019-10-17";
 
     src = fetchFromGitiles
-      upstreamInfo.components."chromiumos/third_party/modemmanager-next";
+      upstreamInfo.components."src/third_party/modemmanager-next";
 
     nativeBuildInputs = nativeBuildInputs ++ [ autoreconfHook libqmi libxslt ];
 
diff --git a/pkgs/os-specific/linux/chromium-os/modp_b64/default.nix b/pkgs/os-specific/linux/chromium-os/modp_b64/default.nix
index 50d91479193..557769336ce 100644
--- a/pkgs/os-specific/linux/chromium-os/modp_b64/default.nix
+++ b/pkgs/os-specific/linux/chromium-os/modp_b64/default.nix
@@ -3,7 +3,7 @@
 common-mk {
   platformSubdir = "modp_b64";
 
-  src = fetchFromGitiles upstreamInfo.components."aosp/platform/external/modp_b64";
+  src = fetchFromGitiles upstreamInfo.components."src/third_party/modp_b64";
 
   installPhase = ''
     mkdir -p $out/lib
diff --git a/pkgs/os-specific/linux/chromium-os/update.py b/pkgs/os-specific/linux/chromium-os/update.py
index 1405c534d8b..58a15dbb8e8 100755
--- a/pkgs/os-specific/linux/chromium-os/update.py
+++ b/pkgs/os-specific/linux/chromium-os/update.py
@@ -13,16 +13,16 @@ from re import MULTILINE, fullmatch, match, search
 from urllib.request import urlopen
 
 # ChromiumOS components used in Nixpkgs
-components = [
-    'aosp/platform/external/modp_b64',
-    'chromiumos/overlays/chromiumos-overlay',
-    'chromiumos/platform/crosvm',
-    'chromiumos/platform/minigbm',
-    'chromiumos/platform2',
-    'chromiumos/third_party/adhd',
-    'chromiumos/third_party/kernel',
-    'chromiumos/third_party/libqmi',
-    'chromiumos/third_party/modemmanager-next',
+component_paths = [
+    'src/platform/crosvm',
+    'src/platform/minigbm',
+    'src/platform2',
+    'src/third_party/adhd',
+    'src/third_party/chromiumos-overlay',
+    'src/third_party/kernel/v5.4',
+    'src/third_party/libqmi',
+    'src/third_party/modemmanager-next',
+    'src/third_party/modp_b64',
 ]
 
 git_root = 'https://chromium.googlesource.com/'
@@ -65,14 +65,28 @@ with urlopen(f'{buildspecs_url}{chrome_major_version}/?format=TEXT') as resp:
     buildspecs.sort(reverse=True)
     buildspec = splitext(buildspecs[0])[0]
 
-revisions = {}
+components = {}
 
 # Read the buildspec, and extract the git revisions for each component.
 with urlopen(f'{buildspecs_url}{chrome_major_version}/{buildspec}.xml?format=TEXT') as resp:
     xml = base64.decodebytes(resp.read())
     root = etree.fromstring(xml)
+
+    default_remote = root.find('default').get('remote')
+    remotes = {}
+    for remote in root.findall('remote'):
+        remotes[remote.get('name')] = remote.get('fetch')
+
     for project in root.findall('project'):
-        revisions[project.get('name')] = project.get('revision')
+        name = project.get('name')
+        path = project.get('path')
+        remote_name = project.get('remote') or default_remote
+        remote = remotes[remote_name]
+
+        components[path] = {
+            'revision': project.get('revision'),
+            'url': f'{remote}/{name}',
+        }
 
 # Initialize the data that will be output from this script.  Leave the
 # rc number in buildspec so nobody else is subject to the same level
@@ -84,15 +98,15 @@ paths = {}
 # Fill in the 'components' dictionary with the output from
 # nix-prefetch-git, which can be passed straight to fetchGit when
 # imported by Nix.
-for component in components:
-    name = component.split('/')[-1]
-    url = f'{git_root}{component}'
-    rev = revisions[component]
+for path in component_paths:
+    name = path.split('/')[-1]
+    url = components[path]['url']
+    rev = components[path]['revision']
     tarball = f'{url}/+archive/{rev}.tar.gz'
     output = subprocess.check_output(['nix-prefetch-url', '--print-path', '--unpack', '--name', name, tarball])
-    (sha256, path) = output.decode('utf-8').splitlines()
-    paths[component] = path
-    data['components'][component] = {
+    (sha256, store_path) = output.decode('utf-8').splitlines()
+    paths[path] = store_path
+    data['components'][path] = {
         'name': name,
         'url': url,
         'rev': rev,
@@ -100,14 +114,14 @@ for component in components:
     }
 
 # Get the version number of the kernel.
-kernel = paths['chromiumos/third_party/kernel']
+kernel = paths['src/third_party/kernel/v5.4']
 makefile = open(f'{kernel}/Makefile').read()
 version = search(r'^VERSION = (.+)$', makefile, MULTILINE)[1]
 patchlevel = search(r'^PATCHLEVEL = (.*?)$', makefile, MULTILINE)[1]
 sublevel = search(r'^SUBLEVEL = (.*?)$', makefile, MULTILINE)[1]
 extra = search(r'^EXTRAVERSION =[ \t]*(.*?)$', makefile, MULTILINE)[1]
 full_ver = '.'.join(filter(None, [version, patchlevel, sublevel])) + extra
-data['components']['chromiumos/third_party/kernel']['version'] = full_ver
+data['components']['src/third_party/kernel/v5.4']['version'] = full_ver
 
 # Finally, write the output.
 with open(dirname(__file__) + '/upstream-info.json', 'w') as out:
diff --git a/pkgs/os-specific/linux/chromium-os/upstream-info.json b/pkgs/os-specific/linux/chromium-os/upstream-info.json
index 5264a72a6c9..842912800bc 100644
--- a/pkgs/os-specific/linux/chromium-os/upstream-info.json
+++ b/pkgs/os-specific/linux/chromium-os/upstream-info.json
@@ -1,60 +1,60 @@
 {
   "version": "81.12871.0.0-rc1",
   "components": {
-    "aosp/platform/external/modp_b64": {
-      "name": "modp_b64",
-      "url": "https://chromium.googlesource.com/aosp/platform/external/modp_b64",
-      "rev": "ae26ad8516036774fd3b6e84a98a89955dcf5f61",
-      "sha256": "03ja5fkq3wk0qcnfnqcj09lciky6n6zdj544xs1jfssjhz9yj8hi"
-    },
-    "chromiumos/overlays/chromiumos-overlay": {
-      "name": "chromiumos-overlay",
-      "url": "https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay",
-      "rev": "be285b729ef2af700cc248f741af20c387b5a1bc",
-      "sha256": "18y2icdb3hxqxxaaz8sylw21q2qwcpjyns75ig7ahc4vc1k5hg7s"
-    },
-    "chromiumos/platform/crosvm": {
+    "src/platform/crosvm": {
       "name": "crosvm",
       "url": "https://chromium.googlesource.com/chromiumos/platform/crosvm",
       "rev": "8b8c01e1ad31718932491e4aee63f56109a138e2",
       "sha256": "1qmf1k06pwynh15c3nr9m6v90z2pkk930xniwvlvbvnazrk4rllg"
     },
-    "chromiumos/platform/minigbm": {
+    "src/platform/minigbm": {
       "name": "minigbm",
       "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm",
       "rev": "fbfb338e7db246f05ae68da97141fbd49481584b",
       "sha256": "11p6v4nmqivyqyc8lmypbwqv9q819lhx6v3igfsv3455mmq02kcb"
     },
-    "chromiumos/platform2": {
+    "src/platform2": {
       "name": "platform2",
       "url": "https://chromium.googlesource.com/chromiumos/platform2",
       "rev": "6e0d88d0bea8e7cb28a310298cc8c77ed742f60a",
       "sha256": "13vrbnl3ck8cxiyifc58cs9i0yby92vp5si27ihrx33v6bdlir4s"
     },
-    "chromiumos/third_party/adhd": {
+    "src/third_party/adhd": {
       "name": "adhd",
       "url": "https://chromium.googlesource.com/chromiumos/third_party/adhd",
       "rev": "f361d5b02623274723bff251dafa1e2a2887b013",
       "sha256": "1p8iwjwgmcgmzri03ik2jaid8l0ch0bzn6z9z64dix1hlrvrlliw"
     },
-    "chromiumos/third_party/kernel": {
-      "name": "kernel",
+    "src/third_party/chromiumos-overlay": {
+      "name": "chromiumos-overlay",
+      "url": "https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay",
+      "rev": "be285b729ef2af700cc248f741af20c387b5a1bc",
+      "sha256": "18y2icdb3hxqxxaaz8sylw21q2qwcpjyns75ig7ahc4vc1k5hg7s"
+    },
+    "src/third_party/kernel/v5.4": {
+      "name": "v5.4",
       "url": "https://chromium.googlesource.com/chromiumos/third_party/kernel",
       "rev": "17611b6e636c8ccae25e873e659d69c20b215815",
       "sha256": "0an8w3660v2zf2crb68ambg7vzw2rajpjmcby1am08qy37lqsfkd",
       "version": "5.4.16"
     },
-    "chromiumos/third_party/libqmi": {
+    "src/third_party/libqmi": {
       "name": "libqmi",
       "url": "https://chromium.googlesource.com/chromiumos/third_party/libqmi",
       "rev": "6267c12fef0be9a95d687bf4b476593eeffbaaf1",
       "sha256": "00yjjcngjkbgxmmf79ciddk9yq393a94230ahq8vszyfygzhs3rz"
     },
-    "chromiumos/third_party/modemmanager-next": {
+    "src/third_party/modemmanager-next": {
       "name": "modemmanager-next",
       "url": "https://chromium.googlesource.com/chromiumos/third_party/modemmanager-next",
       "rev": "a4d3a4de1fdab7c282f1a188d2d3d0aaa24f0698",
       "sha256": "1b1l1jfiyl7fnm29pp9npi0gdlqcw1jmmbigf0qlndqdh0ly2izg"
+    },
+    "src/third_party/modp_b64": {
+      "name": "modp_b64",
+      "url": "https://chromium.googlesource.com/aosp/platform/external/modp_b64",
+      "rev": "ae26ad8516036774fd3b6e84a98a89955dcf5f61",
+      "sha256": "03ja5fkq3wk0qcnfnqcj09lciky6n6zdj544xs1jfssjhz9yj8hi"
     }
   }
 }