conda-forge / conda-forge-pinning-feedstock

A conda-smithy repository for conda-forge-pinning.
BSD 3-Clause "New" or "Revised" License
56 stars 501 forks source link

ABI lab pins #288

Open CJ-Wright opened 5 years ago

CJ-Wright commented 5 years ago

Here are all the packages ABI lab tracks and we ship, but are not in the pinning repo. (sorted by number of descendants)

I'm not saying we should pin all of these, but I did want to raise awareness. There are 184 feedstocks here.

@conda-forge/core thoughts?

libtool
libuv
libedit
binutils
rhash
gettext
pcre
lz4
libxcb
llvm
fribidi
fftw
libogg
libvorbis
libsndfile
libjpeg-turbo
gdbm
atk
mpi
libxslt
libsodium
libunistring
libidn2
tbb
postgresql
blosc
json-c
util-linux
freexl
libspatialite
protobuf
c-ares
mpc
freeglut
gnutls
lame
suitesparse
openh264
gflags
libarchive
openmp
double-conversion
brotli
orc
flatbuffers
uriparser
jemalloc
re2
cloog
lapack
opencv
libntlm
libcroco
ghostscript
unixodbc
libgpg-error
libgcrypt
arrow
libatomic_ops
mesa
oniguruma
cminpack
thrift
xrootd
libgsasl
imagemagick
check
davix
geographiclib
cunit
givaro
glibmm
antlr
root
lua
cgal
libmagic
nco
libpciaccess
libgit2
openlibm
embree
zstandard
freetds
libdrm
portaudio
pugixml
pcre2
eclib
openssh
graphene
jansson
libva
openspecfun
openldap
libev
yajl
laszip
libmad
pcl
dcap
libgsf
wcslib
dlib
ilmbase
leptonica
libusb
geoip
qwt
graphicsmagick
libseccomp
assimp
fltk
openbabel
armadillo
openslide
leveldb
libtasn1
tesseract
sasl
openexr
octave
lmdb
openfst
elfutils
libassuan
exiv2
casacore
tinyxml2
hunspell
libconfig
speex
mongodb
glfw
poco
xxhash
attr
qwtpolar
libaio
toolkit
qca
qjson
qtkeychain
mysql
libmemcached
mpg123
hiredis
oath
openimageio
libzip
libwebsockets
cairomm
libsolv
newt
proj.4
qgis
uchardet
luajit
gpgme
nghttp2
bullet
caffe
p11-kit
gperftools
libcap
vigra
libass
log4cpp
pyside
yaml-cpp
mlpack
kyotocabinet
ogre
guile
libical
apr
gdcm
libnl
cppcheck
procps-ng
libssh
qpdf
benchmark
bson
CJ-Wright commented 5 years ago

On a related note ABI tracker puts up it's reports as json. See: https://raw.githubusercontent.com/lvc/abi-reports/master/report/libtool.json We may be able to use this in the linter/cron job to let people know if new migrations may be needed.

isuruf commented 5 years ago

IMO, there's little value checking against ABI laboratory packages. If you want to pursue this, you should look at packages that has a shared library in PREFIX/lib/, but doesn't have a run_exports.

CJ-Wright commented 5 years ago

What do you mean "little value checking against ABI laboratory"? Are the packages there out of date? Are the reports incorrect?

isuruf commented 5 years ago

If you want to list packages that might need pinning, there's no point in looking at ABI laboratory. They have far fewer packages.

CJ-Wright commented 5 years ago

This was not a comprehensive approach for sure. I don't know if everything that ships a shared library needs pinning in practice, especially if they are extremely stable. I mostly looked at ABI lab because it is the only tooling I know of which will let us know if a new version breaks backwards compat. Are there other tools which we should use?

As a side note the ABI lab people seem to be willing to add packages to their tracker as needed, arrow just went up the other day.

jakirkham commented 5 years ago

Would change protobuf to libprotobuf. The former is the Python library; so, doesn't need an ABI pin. However the latter is the C++ library, which does.

CJ-Wright commented 5 years ago

I think that any application of this would need a LUT in the middle to translate between our names and ABI lab's.