chore(users/Profpatsch): remove git-db & rust deps

This never went anywhere.

We had problems with `git2` breaking, so let’s remove everything that
this pulled in.

Change-Id: Ia29d827cd6fc7b97aedca36a37f8418384579c38
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12474
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
This commit is contained in:
Profpatsch 2024-09-13 13:23:32 +02:00
parent fcd4bfccdf
commit af5ce5489f
3 changed files with 0 additions and 230 deletions

View file

@ -292,132 +292,4 @@ depot.nix.readTree.drvTargets rec{
sha256 = "1kd047p8jv6mhmfzddjvfa2nwkfrb3l1wml6lfm51n1cr06cc9lz";
};
libz-sys = buildRustCrate {
pname = "libz-sys";
version = "1.1.2";
sha256 = "1y7v6bkwr4b6yaf951p1ns7mx47b29ziwdd5wziaic14gs1gwq30";
buildDependencies = [
cc
pkg-config
];
};
libgit2-sys = buildRustCrate {
pname = "libgit2-sys";
version = "0.16.2+1.7.2";
sha256 = "0bs446idbmg8s13jvb0ck6qmrskcdn2mp3d4mn9ggxbmiw4ryd3g";
dependencies = [
libc
libz-sys
];
libPath = "lib.rs";
libName = "libgit2_sys";
# TODO: this should be available via `pkgs.defaultCrateOverrides`,
# I thought that was included by default?
nativeBuildInputs = [ pkg-config ];
buildInputs = [ pkgs.zlib pkgs.libgit2 ];
buildDependencies = [
cc
pkg-config
];
env.LIBGIT2_NO_VENDOR = "1";
meta.broken = true; # TODO(profpatsch): fix git version mismatch
};
matches = buildRustCrate {
pname = "matches";
version = "0.1.8";
sha256 = "03hl636fg6xggy0a26200xs74amk3k9n0908rga2szn68agyz3cv";
libPath = "lib.rs";
};
percent-encoding = buildRustCrate {
pname = "percent-encoding";
version = "2.1.0";
sha256 = "0i838f2nr81585ckmfymf8l1x1vdmx6n8xqvli0lgcy60yl2axy3";
libPath = "lib.rs";
};
form_urlencoded = buildRustCrate {
pname = "form_urlencoded";
version = "1.0.1";
sha256 = "0rhv2hfrzk2smdh27walkm66zlvccnnwrbd47fmf8jh6m420dhj8";
dependencies = [
matches
percent-encoding
];
};
tinyvec_macros = buildRustCrate {
pname = "tinyvec_macros";
version = "0.1.0";
sha256 = "0aim73hyq5g8b2hs9gjq2sv0xm4xzfbwp5fdyg1frljqzkapq682";
};
tinyvec = buildRustCrate {
pname = "tinyvec";
version = "1.2.0";
sha256 = "1c95nma20kiyrjwfsk7hzd5ir6yy4bm63fmfbfb4dm9ahnlvdp3y";
features = [ "alloc" ];
dependencies = [
tinyvec_macros
];
};
unicode-normalization = buildRustCrate {
pname = "unicode-normalization";
version = "0.1.17";
sha256 = "0w4s0avzlf7pzcclhhih93aap613398sshm6jrxcwq0f9lhis11c";
dependencies = [
tinyvec
];
};
unicode-bidi = buildRustCrate {
pname = "unicode-bidi";
version = "0.3.5";
sha256 = "193jzlxj1dfcms2381lyd45zh4ywlicj9lzcfpid1zbkmfarymkz";
dependencies = [
matches
];
};
idna = buildRustCrate {
pname = "idna";
version = "0.2.3";
sha256 = "0hwypd0fpym9lmd4bbqpwyr5lhrlvmvzhi1vy9asc5wxwkzrh299";
dependencies = [
matches
unicode-normalization
unicode-bidi
];
};
url = buildRustCrate {
pname = "url";
version = "2.2.1";
sha256 = "1ci1djafh83qhpzbmxnr9w5gcrjs3ghf8rrxdy4vklqyji6fvn5v";
dependencies = [
form_urlencoded
idna
matches
percent-encoding
];
};
git2 = buildRustCrate {
pname = "git2";
edition = "2018";
version = "0.18.1";
sha256 = "1d1wm8cn37svyxgvzfapwilkkc9d2x7fcrgciwn8b2pv9aqz102k";
dependencies = [
bitflags
libc
libgit2-sys
log
url
];
meta.broken = true; # TODO(Profpatsch): see libgit2-sys
};
}

View file

@ -1,12 +0,0 @@
{ depot, pkgs, lib, ... }:
(depot.nix.writers.rustSimple
{
name = "git-db";
dependencies = [
depot.third_party.rust-crates.git2
];
}
(builtins.readFile ./git-db.rs)) // {
meta.broken = true;
}

View file

@ -1,90 +0,0 @@
extern crate git2;
use std::os::unix::ffi::OsStrExt;
use std::path::PathBuf;
const DEFAULT_BRANCH: &str = "refs/heads/main";
fn main() {
let git_db_dir = std::env::var_os("GIT_DB_DIR").expect("set GIT_DB_DIR");
let git_db = PathBuf::from(git_db_dir).join("git");
std::fs::create_dir_all(&git_db).unwrap();
let repo = git2::Repository::init_opts(
&git_db,
git2::RepositoryInitOptions::new()
.bare(true)
.mkpath(true)
.description("git-db database")
.initial_head(DEFAULT_BRANCH),
)
.expect(&format!(
"unable to create or open bare git repo at {}",
&git_db.display()
));
let mut index = repo.index().expect("cannot get the git index file");
eprintln!("{:#?}", index.version());
index.clear().expect("could not clean the index");
let now = std::time::SystemTime::now()
.duration_since(std::time::SystemTime::UNIX_EPOCH)
.expect("unable to get system time");
let now_git_time = git2::IndexTime::new(
now.as_secs() as i32, // lol
u32::from(now.subsec_nanos()),
);
let data = "hi, its me".as_bytes();
index
.add_frombuffer(
&git2::IndexEntry {
mtime: now_git_time,
ctime: now_git_time,
// dont make sense
dev: 0,
ino: 0,
mode: /*libc::S_ISREG*/ 0b1000 << (3+9) | /* read write for owner */ 0o644,
uid: 0,
gid: 0,
file_size: data.len() as u32, // lol again
id: git2::Oid::zero(),
flags: 0,
flags_extended: 0,
path: "hi.txt".as_bytes().to_owned(),
},
data,
)
.expect("could not add data to index");
let oid = index.write_tree().expect("could not write index tree");
let to_add_tree = repo
.find_tree(oid)
.expect("we just created this tree, where did it go?");
let parent_commits = match repo.find_reference(DEFAULT_BRANCH) {
Ok(ref_) => vec![ref_.peel_to_commit().expect(&format!(
"reference {} does not point to a commit",
DEFAULT_BRANCH
))],
Err(err) => match err.code() {
// no commit exists yet
git2::ErrorCode::NotFound => vec![],
_ => panic!("could not read latest commit from {}", DEFAULT_BRANCH),
},
};
repo.commit(
Some(DEFAULT_BRANCH),
&git2::Signature::now("Mr. Authorboy", "author@example.com").unwrap(),
&git2::Signature::now("Mr. Commiterboy", "committer@example.com").unwrap(),
"This is my first commit!\n\
\n\
I wonder if it supports extended commit descriptions?\n",
&to_add_tree,
&parent_commits.iter().collect::<Vec<_>>()[..],
)
.expect("could not commit the index we just wrote");
}