How do I install catdoc via homebrew?
I wanted to install catdoc on my Mac Sierra system. I was following the link here: brewformulas.org/Catdoc, but when I run the commands I get an No available formula with the name "catdoc"
error. Below is the complete output.
localhost:tmp davea$ brew install catdoc
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 3 taps (caskroom/cask, homebrew/core, phinze/cask).
==> New Formulae
akamai apng2gif bash-snippets dep glpk hdf5 metis openblas qhull r scalapack snapcraft veclibfort
apache-ctakes arpack bento4 [email protected] goose [email protected] octave pumba qrupdate [email protected] sccache suite-sparse
==> Updated Formulae
acpica crowdin glew languagetool mysql platformio swiftformat
aescrypt-packetizer cryptol gnatsd launch4j mysql-cluster plplot swiftlint
afl-fuzz crystal-lang gnome-builder lean-cli mysql-connector-c ponyc swiftplate
afsctool cython gnome-recipes ledit mysql-sandbox poppler ✔ syncthing
agda dbhash gnu-chess leveldb [email protected] ppsspp syntaxerl
allure dbt gnupg ✔ lftp [email protected] pqiv sysdig
amazon-ecs-cli dbus gnupg-pkcs11-scd libarchive nano pre-commit t1utils
ammonite-repl dcm2niix [email protected] libcds ncmpc presto talloc
angular-cli dcos-cli gnuplot libfreenect ncmpcpp protobuf-swift tarsnap-gui
ansifilter dependency-check goad libgcrypt neo4j psqlodbc tcl-tk
apache-arrow depqbf gobject-introspection ✔ libgit2-glib netpbm pulseaudio tcpdump
apache-geode dhall-json gofabric8 libhttpseverywhere nmap pushpin tee-clc
apktool diff-pdf google-benchmark libmpdclient nnn pwntools telegraf
app-engine-go-64 diff-so-fancy gource libmwaw node pyenv teleport
arangodb diffoscope gradle libphonenumber node-build pyenv-virtualenv termius
artifactory digdag grafana libpng ✔ node@4 pygobject terraform
arx-libertatis django-completion grakn libpst node@6 pygobject3 terragrunt
ascii dmd groonga libqalculate nodeenv pyinvoke tfenv
aspell dmtx-utils gsmartcontrol librdkafka nomad pyqt thefuck
assimp dnsmasq gsoap librsvg notmuch python ✔ tika
aws-sdk-cpp docker-compose gst-editing-services libsodium nsd python3 tippecanoe
awscli docker-compose-completion gst-libav libtiff ✔ nspr qemu tomcat
awslogs docutils gst-plugins-bad libtorrent-rasterbar numpy qscintilla2 tor
axel dub gst-plugins-base libvirt nuxeo rakudo-star trafficserver
bacula-fd duck gst-plugins-good libwps nzbget rclone translate-toolkit
bartycrouch eg gst-plugins-ugly libxkbcommon ocaml re2 twoping
basex elasticsearch gst-python linkerd ocamlbuild reattach-to-user-namespace typescript
bazel [email protected] gst-rtsp-server log4cpp ocamlsdl rebar@3 unison
bibtex2html elixir gst-validate logstalgia ola recoverjpeg [email protected]
bind emscripten gstreamer logstash one-ml redis ✔ unrar
binutils encfs gtk+3 logtalk oniguruma redis-leveldb urh
blastem etcd h2 lolcat opam rethinkdb [email protected]
blockhash etsh harfbuzz lxc openal-soft rlvm varnish
bmake evince haskell-stack macvim ✔ openclonk rocksdb varnish@4
brew-gem expat haste-client makensis opencsg rom-tools vim ✔
btfs exploitdb haxe mal4s openmsx roswell [email protected]
buku fabio hbase mame openrtsp rtags vimpc
byobu ffmpeg heimdal mariadb opensc rtv vips
cabal-install fibjs heroku mat openshift-cli ruby-build ✔ voldemort
caddy filebeat hevea mediaconch openvdb rust vowpal-wabbit
cake firebase-cli highlight mednafen opusfile saltstack wabt
camlp4 fizsh htmldoc memcached ✔ orc sane-backends watchman
camlp5 flake8 httpflow menhir orientdb sbcl watson
cargo-completion flawfinder hydra meson osc sbt webdis
catimg flow hyperscan mesos osm2pgsql scala webpack
certbot fluent-bit idris metabase osquery scalaenv whois
certstrap fobis imagemagick ✔ metricbeat osrm-backend scalariform widelands
chakra folly imagemagick@6 mftrace owfs scipy wimlib
checkstyle fontforge immortal mgba oysttyer scw wine
chromedriver fonttools infer micro packer shadowsocks-libev wiredtiger
citus forego influxdb miller packetbeat sip wireguard-tools
clojurescript format-udf [email protected] mingw-w64 packetq sjk wireshark
closure-stylesheets freeradius-server ircii minimal-racket paket skinny woboq_codebrowser
cmake fs-uae jags minio pango snakemake wpscan
cmark fstar jboss-forge mkvtoolnix parallel snap-telemetry x265
coccinelle fzf jenkins mldonkey pari snappy xapian
cockroach gdk-pixbuf jenkins-lts mobile-shell passenger ✔ snzip xdot
cocoapods gearman jfrog-cli-go monax pdf2htmlex softhsm xsv
codec2 gedit jhipster monetdb pdf2json sparkey yarn
coffeescript geos jmxtrans mongo-orchestration pdftoedn sqldiff yaz
collector-sidecar geoserver jsdoc3 mosquitto pdftoipe sqlite ✔ yle-dl
commandbox get-flash-videos juju mpc percona-server sqlite-analyzer you-get
compcert getdns kibana mpd percona-server-mongodb sqlmap youtube-dl
conan getmail knot mpdas [email protected] sslyze zabbix
consul ghc knot-resolver mpg123 [email protected] ssreflect zbar
convmv git ✔ kobalt mpv percona-toolkit stella zero-install
convox git-extras kompose msgpack percona-xtrabackup stunnel zsh-completions
coq git-flow-avh kops msitools pgbadger supertux
corectl git-fresh kubernetes-cli mspdebug pgcli supervisor
cppcheck gitlab-ci-multi-runner kubernetes-helm mycli pioneer suricata
cromwell gjs lablgtk mypy planck swagger-codegen
==> Renamed Formulae
transfig -> fig2dev
Error: No available formula with the name "catdoc"
==> Searching for a previously deleted formula...
Warning: homebrew/core is shallow clone. To get complete history run:
git -C "$(brew --repo homebrew/core)" fetch --unshallow
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
Error: No formulae found in taps.
What am I missing regarding how to install catdoc via homebrew?
Solution 1:
Catdoc isn't available in any homebrew repository. It has never been part of the core formula repo:
MyiMac:/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula [git::master]
> git pull
Already up-to-date.
Current branch master is up to date.
MyiMac:/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula [git::master]
> git log -- ./catdoc.rb
MyiMac:/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula [git::master]
>
So you have to download, compile and install it yourself from source in homebrew.
Create a catdoc.rb with the following content:
require 'formula'
class Catdoc < Formula
url 'http://ftp.wagner.pp.ru/pub/catdoc/catdoc-0.95.tar.gz'
homepage 'http://wagner.pp.ru/~vitus/software/catdoc/'
sha256 '514a84180352b6bf367c1d2499819dfa82b60d8c45777432fa643a5ed7d80796'
def install
# catdoc configure says it respects --mandir=, but does not.
ENV['man1dir'] = man1
system "./configure --disable-debug --disable-dependency-tracking --prefix=#{prefix}"
# The INSTALL file confuses make on case insensitive filesystems.
system "mv INSTALL INSTALL.txt"
system "make"
# There is a race condition in the charsets/Makefile install target. The following line solves it.
system "make -C charsets install-dirs"
system "make install"
end
end
and install it in the homebrew environment with:
brew install --build-from-source catdoc.rb