From b09eeb3d5183fcc5306f129a050d1078483cd2d8 Mon Sep 17 00:00:00 2001 From: Johan Euphrosine Date: Sat, 12 Mar 2022 01:34:08 +0900 Subject: [PATCH 1/6] misc/magic: remove conda-forge deps --- misc/magic/build.sh | 3 --- misc/magic/condarc | 2 -- misc/magic/csh.patch | 20 -------------------- misc/magic/meta.yaml | 24 +++++------------------- 4 files changed, 5 insertions(+), 44 deletions(-) delete mode 100644 misc/magic/condarc delete mode 100644 misc/magic/csh.patch diff --git a/misc/magic/build.sh b/misc/magic/build.sh index 69d9adcb..23588d0a 100644 --- a/misc/magic/build.sh +++ b/misc/magic/build.sh @@ -12,9 +12,6 @@ case "${UNAME_OUT}" in exit;; esac -tcsh=`which tcsh` -ln -s $tcsh $(dirname $tcsh)/csh - ./configure --prefix="${PREFIX}" --with-cairo="${BUILD_PREFIX}/include" make V=1 -j$CPU_COUNT diff --git a/misc/magic/condarc b/misc/magic/condarc deleted file mode 100644 index 42825518..00000000 --- a/misc/magic/condarc +++ /dev/null @@ -1,2 +0,0 @@ -channels: - - conda-forge diff --git a/misc/magic/csh.patch b/misc/magic/csh.patch deleted file mode 100644 index 49e1b64b..00000000 --- a/misc/magic/csh.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/scripts/makedbh b/scripts/makedbh -index 01e4fa5..d6299c6 100755 ---- a/scripts/makedbh -+++ b/scripts/makedbh -@@ -1,4 +1,4 @@ --#!/bin/csh -f -+#!/usr/bin/env tcsh - # - # makes the "database.h" (1st argument, $1) file from "database.h.in" - # (2nd argument, $2), setting various mask operation definitions -diff --git a/scripts/printmans b/scripts/printmans -index 05e2e1f..25e0265 100755 ---- a/scripts/printmans -+++ b/scripts/printmans -@@ -1,4 +1,4 @@ --#!/bin/csh -f -+#!/usr/bin/env tcsh - - set cmd=($1) - shift argv diff --git a/misc/magic/meta.yaml b/misc/magic/meta.yaml index f680a790..6a3b66b4 100644 --- a/misc/magic/meta.yaml +++ b/misc/magic/meta.yaml @@ -8,8 +8,6 @@ package: source: git_url: https://github.com/RTimothyEdwards/magic git_rev: master - patches: - - csh.patch build: # number: 201803050325 @@ -23,27 +21,15 @@ build: requirements: build: - - {{ compiler('c') }} - - {{ compiler('cxx') }} + - autoconf + - automake - make - - tcsh + - python + - {{ compiler('c') }} + - {{ cdt('xorg-x11-proto-devel') }} # [linux] host: - - tcsh - - cairo - - m4 - tk - - ncurses - - python>=3.7 - - readline - - fontconfig - - xorg-libx11 - run: - - python>=3.7 - cairo - - ncurses - - readline - - tk - - xorg-libx11 test: commands: From f73de299cd6d4eb43535e3f92c5c31fcad0fd98d Mon Sep 17 00:00:00 2001 From: Johan Euphrosine Date: Sat, 12 Mar 2022 02:34:09 +0900 Subject: [PATCH 2/6] misc/magic: add missing x11 cdt --- misc/magic/meta.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/misc/magic/meta.yaml b/misc/magic/meta.yaml index 6a3b66b4..7123c231 100644 --- a/misc/magic/meta.yaml +++ b/misc/magic/meta.yaml @@ -27,6 +27,10 @@ requirements: - python - {{ compiler('c') }} - {{ cdt('xorg-x11-proto-devel') }} # [linux] + - {{ cdt('libx11-devel') }} # [linux] + - {{ cdt('libxau-devel') }} # [linux] + - {{ cdt('libxext-devel') }} # [linux] + - {{ cdt('libxrender-devel') }} # [linux] host: - tk - cairo From b3ce1db9c99b64ff0daba975df31446c812e8fd6 Mon Sep 17 00:00:00 2001 From: Johan Euphrosine Date: Tue, 29 Mar 2022 23:25:32 +0900 Subject: [PATCH 3/6] misc/magic: better make errors --- misc/magic/make-errors.patch | 119 +++++++++++++++++++++++++++++++++++ misc/magic/meta.yaml | 2 + 2 files changed, 121 insertions(+) create mode 100644 misc/magic/make-errors.patch diff --git a/misc/magic/make-errors.patch b/misc/magic/make-errors.patch new file mode 100644 index 00000000..e7328420 --- /dev/null +++ b/misc/magic/make-errors.patch @@ -0,0 +1,119 @@ +diff --git a/Makefile b/Makefile +index e1d61fb..dc0efc4 100644 +--- a/Makefile ++++ b/Makefile +@@ -18,12 +18,10 @@ INSTALL_CAD_DIRS = windows doc ${TECH} + all: $(ALL_TARGET) + + standard: +- @echo --- errors and warnings logged in file make.log +- @${MAKE} mains 2>&1 | tee -a make.log | egrep -i "(.c:|Stop.|---)" ++ @${MAKE} mains + + tcl: +- @echo --- errors and warnings logged in file make.log +- @${MAKE} tcllibrary 2>&1 | tee -a make.log | egrep -i "(.c:|Stop.|---)" ++ @${MAKE} tcllibrary + + force: clean all + +@@ -36,12 +34,12 @@ config: + tcllibrary: database/database.h modules + @echo --- making Tcl shared libraries + for dir in ${PROGRAMS}; do \ +- (cd $$dir && ${MAKE} tcl-main); done ++ (cd $$dir && ${MAKE} tcl-main) || exit 1; done + + mains: database/database.h modules libs + @echo --- making main programs + for dir in ${PROGRAMS}; do \ +- (cd $$dir && ${MAKE} main); done ++ (cd $$dir && ${MAKE} main) || exit 1; done + + database/database.h: database/database.h.in + @echo --- making header file database/database.h +@@ -50,18 +48,18 @@ database/database.h: database/database.h.in + modules: database/database.h depend + @echo --- making modules + for dir in ${MODULES} ${PROGRAMS}; do \ +- (cd $$dir && ${MAKE} module); done ++ (cd $$dir && ${MAKE} module) || exit 1; done + + libs: + @echo --- making libraries + for dir in ${LIBRARIES}; do \ +- (cd $$dir && ${MAKE} lib); done ++ (cd $$dir && ${MAKE} lib) || exit 1; done + + depend: database/database.h + @echo --- making dependencies + ${RM} */Depend + for dir in ${MODULES} ${UNUSED_MODULES} ${PROGRAMS}; do \ +- (cd $$dir && ${MAKE} depend); done ++ (cd $$dir && ${MAKE} depend) || exit 1; done + + install: $(INSTALL_TARGET) + +@@ -72,9 +70,9 @@ install-magic: + + install-real: install-dirs + for dir in ${INSTALL_CAD_DIRS}; do \ +- (cd $$dir && ${MAKE} install); done ++ (cd $$dir && ${MAKE} install) || exit 1; done + for dir in ${PROGRAMS}; do \ +- (cd $$dir && ${MAKE} install); done ++ (cd $$dir && ${MAKE} install) || exit 1; done + + install-tcl-dirs: + ${MAGICDIR}/scripts/mkdirs $(DESTDIR)${INSTALL_BINDIR} \ +@@ -93,11 +91,11 @@ install-tcl: + + install-tcl-real: install-tcl-dirs + for dir in ${INSTALL_CAD_DIRS} ${PROGRAMS}; do \ +- (cd $$dir && ${MAKE} install-tcl); done ++ (cd $$dir && ${MAKE} install-tcl) || exit 1; done + + clean: + for dir in ${MODULES} ${PROGRAMS} ${TECH} ${UNUSED_MODULES}; do \ +- (cd $$dir && ${MAKE} clean); done ++ (cd $$dir && ${MAKE} clean) || exit 1; done + ${RM} *.tmp */*.tmp *.sav */*.sav *.log TAGS tags + + distclean: +@@ -121,7 +119,7 @@ dist: + + clean-mains: + for dir in ${PROGRAMS}; do \ +- (cd $$dir && ${RM} $$dir); done ++ (cd $$dir && ${RM} $$dir) || exit 1; done + + tags: + ${RM} tags +diff --git a/scripts/configure b/scripts/configure +index 549324e..5c91663 100755 +--- a/scripts/configure ++++ b/scripts/configure +@@ -9504,9 +9504,6 @@ echo + + echo "Use 'make' to compile and 'make install' to install." + echo +-echo "Errors may not be printed to stdout: see files 'make.log' " +-echo " and 'install.log' for complete error summary." +-echo + echo "-----------------------------------------------------------" + echo + +diff --git a/scripts/configure.in b/scripts/configure.in +index 79b4cd8..1e5ace6 100644 +--- a/scripts/configure.in ++++ b/scripts/configure.in +@@ -1910,9 +1910,6 @@ echo + + echo "Use 'make' to compile and 'make install' to install." + echo +-echo "Errors may not be printed to stdout: see files 'make.log' " +-echo " and 'install.log' for complete error summary." +-echo + echo "-----------------------------------------------------------" + echo + diff --git a/misc/magic/meta.yaml b/misc/magic/meta.yaml index 7123c231..3f0080c9 100644 --- a/misc/magic/meta.yaml +++ b/misc/magic/meta.yaml @@ -8,6 +8,8 @@ package: source: git_url: https://github.com/RTimothyEdwards/magic git_rev: master + patches: + - make-errors.patch build: # number: 201803050325 From 8850c72d3c19ecc1490c44606b5ed0af344179ae Mon Sep 17 00:00:00 2001 From: Johan Euphrosine Date: Tue, 29 Mar 2022 23:25:55 +0900 Subject: [PATCH 4/6] github/workflows/build-packages: add csh for magic --- .github/workflows/build-packages.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build-packages.yml b/.github/workflows/build-packages.yml index 62b2d912..24d8c28c 100644 --- a/.github/workflows/build-packages.yml +++ b/.github/workflows/build-packages.yml @@ -32,6 +32,10 @@ jobs: OS_NAME: "linux" steps: - uses: actions/checkout@v2 + - name: 'Install csh' + run: | + sudo apt update + sudo apt install -y csh - uses: hdl/conda-ci@master #2 From a40f201e54b425a221a564f294882e02db999f61 Mon Sep 17 00:00:00 2001 From: Johan Euphrosine Date: Tue, 29 Mar 2022 23:26:14 +0900 Subject: [PATCH 5/6] misc/magic: better test --- misc/magic/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/magic/meta.yaml b/misc/magic/meta.yaml index 3f0080c9..d57d5228 100644 --- a/misc/magic/meta.yaml +++ b/misc/magic/meta.yaml @@ -39,7 +39,7 @@ requirements: test: commands: - - magic --commit + - magic -dnull -noconsole --version about: home: http://opencircuitdesign.com/magic/ From 367c130df797f7341724d46fb25ab4c9d41c6b27 Mon Sep 17 00:00:00 2001 From: Johan Euphrosine Date: Tue, 29 Mar 2022 23:26:32 +0900 Subject: [PATCH 6/6] misc/magic: better about --- misc/magic/meta.yaml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/misc/magic/meta.yaml b/misc/magic/meta.yaml index d57d5228..832d45e2 100644 --- a/misc/magic/meta.yaml +++ b/misc/magic/meta.yaml @@ -43,6 +43,15 @@ test: about: home: http://opencircuitdesign.com/magic/ + license: MIT + license_family: MIT license_file: LICENSE - summary: "Magic is a venerable VLSI layout tool, written in the 1980's at Berkeley by John Ousterhout, now famous primarily for writing the scripting interpreter language Tcl. Due largely in part to its liberal Berkeley open-source license, magic has remained popular with universities and small companies. The open-source license has allowed VLSI engineers with a bent toward programming to implement clever ideas and help magic stay abreast of fabrication technology. However, it is the well thought-out core algorithms which lend to magic the greatest part of its popularity. Magic is widely cited as being the easiest tool to use for circuit layout, even for people who ultimately rely on commercial tools for their product design flow." - + summary: 'Magic VLSI Layout Tool' + description: | + Magic is a venerable VLSI layout tool, written in the 1980's at Berkeley by John Ousterhout, now famous primarily for writing the scripting interpreter language Tcl. + Due largely in part to its liberal Berkeley open-source license, magic has remained popular with universities and small companies. + The open-source license has allowed VLSI engineers with a bent toward programming to implement clever ideas and help magic stay abreast of fabrication technology. + However, it is the well thought-out core algorithms which lend to magic the greatest part of its popularity. + Magic is widely cited as being the easiest tool to use for circuit layout, even for people who ultimately rely on commercial tools for their product design flow. + doc_url: http://opencircuitdesign.com/magic/magic_docs.html + dev_url: https://github.com/RTimothyEdwards/magic