TODO.rst 6.89 KB
Newer Older
1
=================
2 3 4
Crates to package
=================

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Eventual goals
==============

To see lists of interesting binary crates, you can run something like::

  $ apt-get install koji-client
  $ koji -p fedora search package 'rust-*' | cut -b6- | dev/filter-binary-crates.sh

Current output (on 2018-07-08) is:

- aho-corasick
- docopt
- pulldown-cmark
- ripgrep
- fd-find
- exa
- cpp_demangle
- permutate
- cbindgen
- rustdoc-stripper
- difference
- pretty-git-prompt
- peg
- varlink
- varlink-cli

Ximin Luo's avatar
Ximin Luo committed
31 32 33 34
Sccache is also helpful for reducing the build-time of things like firefox and thunderbird

- sccache https://github.com/mozilla/sccache

35 36 37 38
There are also more binaries here:

https://github.com/rust-unofficial/awesome-rust

39 40 41 42

Immediate goals
===============

43 44 45 46 47 48
The lists below are calculated using some combinations of running::

  tests/sh/cargo-tree-deb-rec <binary-crate>

from the ``debcargo.git`` repository.

49

Ximin Luo's avatar
Ximin Luo committed
50 51
Ready for upload (Request For Sponsor)
--------------------------------------
52 53 54 55

These packages are prepared in the master branch and can be uploaded because
all required dependencies are available in main::

Ximin Luo's avatar
Ximin Luo committed
56
    (none currently)
57 58 59

Delayed/problematic::

60 61 62 63 64 65 66
    bitflags-0.9.1 -- dependency of pulldown-cmark
    winapi-0.2.8 -- dependency of mio, iovec, etc
    safemem-0.2.1 -- dependency of base64 <- hyper
    miniz-sys-0.1.10 -- dependency of flate2 <- cargo <- debcargo
    crossbeam-utils-0.3.2 -- ???
    lazycell-0.6.0 -- dependency of mio, cargo-0.27
    gcc-0.3.54 -- ???
67

Ximin Luo's avatar
Ximin Luo committed
68 69 70 71 72 73 74 75 76 77 78
infinity0: I've omitted the above for now since they are older versions, let's
try to get the reverse-dependent crates using the latest versions of them.)

infinity0: I've also omitted miniz-sys for now because it bundles an old
version of miniz, and this should be discussed a bit further because it's not
within normal Debian practise. See upstream issues:

- https://github.com/alexcrichton/flate2-rs/issues/160
- https://github.com/alexcrichton/flate2-rs/issues/143


79 80 81 82 83
Base packages
-------------

The below are transitive dependencies of {debcargo, exa, ripgrep, mdbook,
xi-core-lib} that have no other rust dependencies, i.e. can be built right now
84 85
with what's already in Debian. Note that some of them are older versions and
the newer versions *do* have other dependencies that must be packaged first.
86

87 88 89 90
This list is not set in stone, newer versions of those programs may make some
of the older versions obsolete. Use your own judgement on what to package, or
what to remove from the list if it's not longer necessary.

91 92 93 94 95 96 97
"-" means already done, pending upload. When they get ACCEPTED you can rm from here::

    lazycell-0.6.0
    quote-0.3.15
    regex-syntax-0.4.2
    regex-syntax-0.5.6
    winapi-0.2.8
98

Sylvestre Ledru's avatar
Sylvestre Ledru committed
99 100 101
dependencies of mdbook/exa
--------------------------

102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
::

    ansi_term-0.8.0 -- needed by exa
    bitflags-0.9.1 -- exa, mdbook
    byteorder-0.4.2 -- exa
    language-tags-0.2.2 -- mdbook
    lazy_static-0.2.11 -- exa
    mac-0.1.1 -- mdbook
    maplit-1.0.1 -- mdbook
    modifier-0.1.0 -- exa
    nom-1.2.4 -- exa
    open-1.2.1 -- mdbook
    pest-1.0.6 -- mdbook
    precomputed-hash-0.1.1 -- mdbook
    regex-syntax-0.3.9 -- exa
    - scoped_threadpool-0.1.9 -- exa
    sequence_trie-0.3.5 -- mdbook
    serde-0.9.15 -- xi-core-lib
    strum-0.9.0 -- mdbook
    - term-grid-0.1.7 - exa
    traitobject-0.1.0 -- mdbook
    typeable-0.1.2 -- mdbook
    utf8-ranges-0.1.3 -- exa
125 126 127 128

dependencies of debcargo
------------------------

129 130 131
Roughly in dependency order, i.e. earlier packages have less dependencies.
Some versions might be out-of-date::

132
    - tar v0.4.15
Ximin Luo's avatar
Ximin Luo committed
133
    - quote v0.6.3
134 135 136 137
    syn v0.14.2
    serde_derive v1.0.66
    semver v0.9.0
    itertools v0.7.8
138
    - url v1.7.0
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
    cmake v0.1.31
    libz-sys v1.0.18
    libssh2-sys v0.2.7
    curl-sys v0.4.5
    libgit2-sys v0.7.3
    git2 v0.7.1
    miniz-sys v0.1.10
    flate2 v1.0.1
    synom v0.11.3
    quote v0.3.15
    syn v0.11.11
    synstructure v0.6.1
    failure_derive v0.1.1
    backtrace-sys v0.1.23
    backtrace v0.3.8
    failure v0.1.1
155
    - atty v0.2.10
156
    clap v2.31.2
Ximin Luo's avatar
Ximin Luo committed
157 158
    - chrono v0.4.2
    - tempfile v3.0.2
159 160 161 162 163 164
    serde_ignored v0.0.4
    socket2 v0.3.6
    miow v0.3.1
    lazycell v0.6.0
    jobserver v0.1.11
    regex-syntax v0.5.6
Ximin Luo's avatar
Ximin Luo committed
165
    regex v0.2.11 -- largely compatible with regex 1, try patching Cargo.toml to use latter
166
    - globset v0.4.0
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
    ignore v0.4.2
    home v0.3.3
    winapi v0.2.8
    kernel32-sys v0.2.2
    curl v0.4.12
    git2-curl v0.8.1
    fs2 v0.4.3
    filetime v0.1.15
    env_logger v0.5.10
    foreign-types v0.3.2
    openssl v0.10.9
    commoncrypto-sys v0.2.0
    commoncrypto v0.2.0
    crypto-hash v0.3.1
    crates-io v0.16.0
    core-foundation-sys v0.5.1
    core-foundation v0.5.1
    cargo v0.27.0
185 186 187 188 189 190 191 192 193 194 195 196

dependencies of ripgrep
-----------------------

Generated with:
$ cargo tree --all-features

Nothing = Done
Italic = Pending
Bold = Remaining

ripgrep v0.8.1
197

198
**├── atty v0.2.10**
199

200
│   └── libc v0.2.40
201

202
├── bytecount v0.3.1
203

204
**│   └── simd v0.2.2**
205

206
**├── clap v2.31.2**
207

208
│   ├── ansi_term v0.11.0
209

210
**│   ├── atty v0.2.10 (*)**
211

212
│   ├── bitflags v1.0.3
213

214
│   ├── strsim v0.7.0
215

216
│   ├── textwrap v0.9.0
217

218
│   │   └── unicode-width v0.1.4
219

220
│   └── unicode-width v0.1.4 (*)
221

222
*├── encoding_rs v0.7.2*
223

224
│   ├── cfg-if v0.1.3
225

226
**│   └── simd v0.2.2 (*)**
227

228
**├── globset v0.4.0**
229

230
│   ├── aho-corasick v0.6.4
231

232
│   │   └── memchr v2.0.1
233

234
│   │       └── libc v0.2.40 (*)
235

236
│   ├── fnv v1.0.6
237

238
│   ├── log v0.4.1
239

240
│   │   └── cfg-if v0.1.3 (*)
241

242
│   ├── memchr v2.0.1 (*)
243

244
│   └── regex v1.0.1
245

246
│       ├── aho-corasick v0.6.4 (*)
247

248
│       ├── memchr v2.0.1 (*)
249

250
│       ├── regex-syntax v0.6.0
251

252
│       │   └── ucd-util v0.1.1
253

254
│       ├── thread_local v0.3.5
255

256
│       │   ├── lazy_static v1.0.0
257

258
│       │   └── unreachable v1.0.0
259

260
│       │       └── void v1.0.2
261

262
│       └── utf8-ranges v1.0.0
263

264
**├── grep v0.1.8**
265

266
│   ├── log v0.4.1 (*)
267

268
│   ├── memchr v2.0.1 (*)
269

270
│   ├── regex v1.0.1 (*)
271

272
│   └── regex-syntax v0.6.0 (*)
273

274
**├── ignore v0.4.2**
275

276
│   ├── crossbeam v0.3.2
277

278
**│   ├── globset v0.4.0**
279

280
│   ├── lazy_static v1.0.0 (*)
281

282
│   ├── log v0.4.1 (*)
283

284
│   ├── memchr v2.0.1 (*)
285

286
│   ├── regex v1.0.1 (*)
287

288
│   ├── same-file v1.0.2
289

290
│   ├── thread_local v0.3.5 (*)
291

292
**│   └── walkdir v2.1.4**
293

294
│       └── same-file v1.0.2 (*)
295

296
├── lazy_static v1.0.0 (*)
297

298
├── libc v0.2.40 (*)
299

300
├── log v0.4.1 (*)
301

302
├── memchr v2.0.1 (*)
303

304
├── memmap v0.6.2
305

306
│   └── libc v0.2.40 (*)
307

308
├── num_cpus v1.8.0
309

310
│   └── libc v0.2.40 (*)
311

312
├── regex v1.0.1 (*)
313

314
├── same-file v1.0.2 (*)
315

Sylvestre Ledru's avatar
Sylvestre Ledru committed
316
*└── termcolor v0.3.6*
317

318
[build-dependencies]
319

320
**├── clap v2.31.2 (*)**
321

322
└── lazy_static v1.0.0 (*)