nodejs / node-v0.x-archive

Moved to https://github.com/nodejs/node
34.42k stars 7.31k forks source link

remove node-waf? #3475

Closed japj closed 12 years ago

japj commented 12 years ago

Since node-gyp is the preferred way to build C++ addons, please remove node-waf to avoid confusion.

(if node-waf is not removed as part of node 0.8, is there a clear roadmap when it will be removed?)

bnoordhuis commented 12 years ago

I think we can remove it from master now.

@isaacs @piscisaureus Opinions?

piscisaureus commented 12 years ago

+1

TooTallNate commented 12 years ago

We should probably change the --without-waf configure flag to --with-waf and not install it by default first.

isaacs commented 12 years ago

Maybe before we do this, we should make a node-waf npm package, like we have node-gyp, so that the transition is not so rocky. Then it's npm's problem, at least :)

bnoordhuis commented 12 years ago

I like the sound of that. Anyone volunteering?

bnoordhuis commented 12 years ago

Maybe before we do this, we should make a node-waf npm package, like we have node-gyp, so that the transition is not so rocky.

I'm having second thoughts about that for two reasons:

I move to simply ditch it.

bnoordhuis commented 12 years ago

Deadline time: everyone gets 24 hours to come up with compelling arguments for keeping node-waf around, else I'm going to unilaterally remove it in master. :-)

piscisaureus commented 12 years ago

Do we have a list of packages that still rely on node-waf (e.g. those that have a wscript but no binding.gyp)? @isaacs ?

TooTallNate commented 12 years ago

All the "big" addons that I know of have been converted to node-gyp at this point (node-canvas being one of the last ones, which was just taken care of this weekend), so I don't have a problem with it.

It would be nice to see a list of stragglers though, as @piscisaureus points out.

bnoordhuis commented 12 years ago

Okay, according to http://registry.npmjs.org/-/scripts?scripts=install,preinstall,postinstall&match=\bnode-waf\b there are 262 modules left that still use a wscript. I can bring that number down to 261. :-) (EDIT: 260)

alfred-bcrypt, anachronism, andtan-node-hid, archive, ArcusNode, ardrone, autoreleasepool, awesomium, babelweb, base64, bigint, binarySearch, bitcoder, bitcoin-impl, bitcoin-p2p, bitcoinjs, blend, bonescript, bplus, bsdiff4, bufferdiff, can, canvas-heroku, cbackend, clucene, codes, com.izaakschroeder.dbus, compress, compress-ds, couch-session, cpool, cppasync, cpptime, cuda, curler, custom-debug, daemon-tools, daemonize, daemonsauce, db-drizzle, db-mysql, db-oracle, db-sqlite, dbus, dcrypt, deadbolt, discount, dtl, dtrace-provider, dynobj, eio, eio-simple, exiv2, fflush, fibonacci-async, fibonacci-native, firebird, flate, flexcache, fork, fs-ext, fsevents, fugue, fusejs, gd, gdbm, genx, geoip-static, geonode, geonode-simplegeo, getpw, gif, gir, gitteh, gnomenotify, graphicsmagick, gridcentric, gsl, guardtime, gui, gzbz2, haru, hash_ring, hashlib, hashlib2, hrtime, htmlscanner, http-booter, iconv-jp, ictclas, imagick, inode, inotify, iptrie, irrklang, izookeeper, jpeg, jscoverage, jsdx-toolkit, kdtree, kexec, kubek-nodesvn, kuebk-zookeeper, kyoto, lame, LDAP, ldap-sj, lfmprint, libdtrace, libirc, liblzg, libuuid, libyaml, light-node-zookeeper, linux-util, lua, lwes, macaudio, mapnik, markdom, mcast, mdgram, mecab-binding, mhash, mini-lzo-wrapper, mmap, mmseg, modbus, mount, my-zookeeper, nacl, nativeUtil, navcodec, ncurses, netiface, niagra, ninotify, node_bsdiff, node_jscoverage, node_xslt, node-bj, node-curl, node-dbus, node-ewah, node-gd, node-hdfs, node-hid, node-icu-charset-detector, node-image, node-marisa-trie, node-mug, node-scrypt, node-sdlmixer, node-tss, node-usb, nodejs-db-informix, nodesvn, nodevlc, nodewm, notify, nrsa, number-smusher, nwm, nx-daemon, odbc, oid, opencl, opencv-node, osx, pam, pane, pbuf, pcap, pdl, pinger, pingles-zmq, pixbuf-simple, pksqlite, png, poker-eval, poppler-simple, posix, postgres, prof, protobuf, pty.js-dl, qqwry, quadprog-native, rand48, rbytes, rdf-raptor-parser, rexec, rfb-protocols, roar, robotskirt, rot13, rsa, santosh-posix, sasl, sasljs, sdlmixer, sigar, simple-profiler, skelesense, snappy, spdy-bindist, sprock, sqlite, sqlite-fts, srs, ssh, stacktrace, stem, taglib, tailnative, talib, telldus-core-js, termutil, threads_a_gogo, tiamat, tidy, tiff-multipage, tilelive-s3, Toji, transcoding, treeeater, treeeater-dustyburwell, trentm-hashlib, tw-node-ldap, typed-array, unicoder, unix-dgram, unix-dgram-papandreou, unixlib, uriparser, ursa, usbmaestro, uuid, uuid.js, vast-maxmind, video, webcl, webgl, wtf8, xappy-pg, xattr, xcb-canvas, xcbjs, xl, yajl, zeromq, zipfile, zipper, zipper-insane, zk, zlib, zlib.sync, zlibstream, zmq-3.0, zombie-https, zsock, zutil

Lots of it seems old but maybe not everything. Still...

isaacs commented 12 years ago

I added the author email info to http://j.mp/node-waf-users. I'll send out some naggy emails soon. That'll help.

The number is going down. Let's go ahead and remove node-waf from master (not 0.8) to show we're serious, and see who complains. We can always put it back, or revive it in npm if it becomes a serious problem.

There are a few things on that list that still need to be converted before we can release a waf-less stable version, imo, but a lot of them are features that have been long since merged into core. (Zlib, inotify, hrtime, etc.)

bnoordhuis commented 12 years ago

There she goes: de32b38

TooTallNate commented 12 years ago

Closing.