Item 6 + 7: add metainfo.xml, --updateinformation, validate target, Validate AppImage step
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
This commit is contained in:
parent
f5ff38ff2f
commit
d5d5ea363f
|
|
@ -281,6 +281,8 @@ jobs:
|
||||||
echo "| AppImageTool URL | ${APPIMAGETOOL_DOWNLOAD_URL} |" >> "$GITHUB_STEP_SUMMARY"
|
echo "| AppImageTool URL | ${APPIMAGETOOL_DOWNLOAD_URL} |" >> "$GITHUB_STEP_SUMMARY"
|
||||||
|
|
||||||
- name: Build project
|
- name: Build project
|
||||||
|
env:
|
||||||
|
UPDATEINFORMATION: gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|Magic-*EL10.AppImage.zsync
|
||||||
run: |
|
run: |
|
||||||
cd appimage/10
|
cd appimage/10
|
||||||
make \
|
make \
|
||||||
|
|
@ -290,13 +292,20 @@ jobs:
|
||||||
TCL_TARBALL_URL="${TCL_TARBALL_URL}" \
|
TCL_TARBALL_URL="${TCL_TARBALL_URL}" \
|
||||||
TK_TARBALL_URL="${TK_TARBALL_URL}" \
|
TK_TARBALL_URL="${TK_TARBALL_URL}" \
|
||||||
TCL_TARBALL_SHA256="${TCL_TARBALL_SHA256}" \
|
TCL_TARBALL_SHA256="${TCL_TARBALL_SHA256}" \
|
||||||
TK_TARBALL_SHA256="${TK_TARBALL_SHA256}"
|
TK_TARBALL_SHA256="${TK_TARBALL_SHA256}" \
|
||||||
|
UPDATEINFORMATION="${UPDATEINFORMATION}"
|
||||||
|
|
||||||
ln -v Magic-x86_64.AppImage "${MAGIC_APPIMAGE_OUTPUT_FILENAME}"
|
ln -v Magic-x86_64.AppImage "${MAGIC_APPIMAGE_OUTPUT_FILENAME}"
|
||||||
ls -l *.AppImage
|
ls -l *.AppImage
|
||||||
sha256sum *.AppImage
|
sha256sum *.AppImage
|
||||||
pwd
|
pwd
|
||||||
|
|
||||||
|
- name: Validate AppImage
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y --no-install-recommends desktop-file-utils appstream
|
||||||
|
cd appimage/10
|
||||||
|
make validate
|
||||||
|
|
||||||
- name: Create RELEASE-NOTES.txt
|
- name: Create RELEASE-NOTES.txt
|
||||||
run: |
|
run: |
|
||||||
cd appimage/10
|
cd appimage/10
|
||||||
|
|
|
||||||
|
|
@ -281,6 +281,8 @@ jobs:
|
||||||
echo "| AppImageTool URL | ${APPIMAGETOOL_DOWNLOAD_URL} |" >> "$GITHUB_STEP_SUMMARY"
|
echo "| AppImageTool URL | ${APPIMAGETOOL_DOWNLOAD_URL} |" >> "$GITHUB_STEP_SUMMARY"
|
||||||
|
|
||||||
- name: Build project
|
- name: Build project
|
||||||
|
env:
|
||||||
|
UPDATEINFORMATION: gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|Magic-*EL7.AppImage.zsync
|
||||||
run: |
|
run: |
|
||||||
cd appimage/7
|
cd appimage/7
|
||||||
make \
|
make \
|
||||||
|
|
@ -290,13 +292,20 @@ jobs:
|
||||||
TCL_TARBALL_URL="${TCL_TARBALL_URL}" \
|
TCL_TARBALL_URL="${TCL_TARBALL_URL}" \
|
||||||
TK_TARBALL_URL="${TK_TARBALL_URL}" \
|
TK_TARBALL_URL="${TK_TARBALL_URL}" \
|
||||||
TCL_TARBALL_SHA256="${TCL_TARBALL_SHA256}" \
|
TCL_TARBALL_SHA256="${TCL_TARBALL_SHA256}" \
|
||||||
TK_TARBALL_SHA256="${TK_TARBALL_SHA256}"
|
TK_TARBALL_SHA256="${TK_TARBALL_SHA256}" \
|
||||||
|
UPDATEINFORMATION="${UPDATEINFORMATION}"
|
||||||
|
|
||||||
ln -v Magic-x86_64.AppImage "${MAGIC_APPIMAGE_OUTPUT_FILENAME}"
|
ln -v Magic-x86_64.AppImage "${MAGIC_APPIMAGE_OUTPUT_FILENAME}"
|
||||||
ls -l *.AppImage
|
ls -l *.AppImage
|
||||||
sha256sum *.AppImage
|
sha256sum *.AppImage
|
||||||
pwd
|
pwd
|
||||||
|
|
||||||
|
- name: Validate AppImage
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y --no-install-recommends desktop-file-utils appstream
|
||||||
|
cd appimage/7
|
||||||
|
make validate
|
||||||
|
|
||||||
- name: Create RELEASE-NOTES.txt
|
- name: Create RELEASE-NOTES.txt
|
||||||
run: |
|
run: |
|
||||||
cd appimage/7
|
cd appimage/7
|
||||||
|
|
|
||||||
|
|
@ -281,6 +281,8 @@ jobs:
|
||||||
echo "| AppImageTool URL | ${APPIMAGETOOL_DOWNLOAD_URL} |" >> "$GITHUB_STEP_SUMMARY"
|
echo "| AppImageTool URL | ${APPIMAGETOOL_DOWNLOAD_URL} |" >> "$GITHUB_STEP_SUMMARY"
|
||||||
|
|
||||||
- name: Build project
|
- name: Build project
|
||||||
|
env:
|
||||||
|
UPDATEINFORMATION: gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|Magic-*EL8.AppImage.zsync
|
||||||
run: |
|
run: |
|
||||||
cd appimage/8
|
cd appimage/8
|
||||||
make \
|
make \
|
||||||
|
|
@ -290,13 +292,20 @@ jobs:
|
||||||
TCL_TARBALL_URL="${TCL_TARBALL_URL}" \
|
TCL_TARBALL_URL="${TCL_TARBALL_URL}" \
|
||||||
TK_TARBALL_URL="${TK_TARBALL_URL}" \
|
TK_TARBALL_URL="${TK_TARBALL_URL}" \
|
||||||
TCL_TARBALL_SHA256="${TCL_TARBALL_SHA256}" \
|
TCL_TARBALL_SHA256="${TCL_TARBALL_SHA256}" \
|
||||||
TK_TARBALL_SHA256="${TK_TARBALL_SHA256}"
|
TK_TARBALL_SHA256="${TK_TARBALL_SHA256}" \
|
||||||
|
UPDATEINFORMATION="${UPDATEINFORMATION}"
|
||||||
|
|
||||||
ln -v Magic-x86_64.AppImage "${MAGIC_APPIMAGE_OUTPUT_FILENAME}"
|
ln -v Magic-x86_64.AppImage "${MAGIC_APPIMAGE_OUTPUT_FILENAME}"
|
||||||
ls -l *.AppImage
|
ls -l *.AppImage
|
||||||
sha256sum *.AppImage
|
sha256sum *.AppImage
|
||||||
pwd
|
pwd
|
||||||
|
|
||||||
|
- name: Validate AppImage
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y --no-install-recommends desktop-file-utils appstream
|
||||||
|
cd appimage/8
|
||||||
|
make validate
|
||||||
|
|
||||||
- name: Create RELEASE-NOTES.txt
|
- name: Create RELEASE-NOTES.txt
|
||||||
run: |
|
run: |
|
||||||
cd appimage/8
|
cd appimage/8
|
||||||
|
|
|
||||||
|
|
@ -281,6 +281,8 @@ jobs:
|
||||||
echo "| AppImageTool URL | ${APPIMAGETOOL_DOWNLOAD_URL} |" >> "$GITHUB_STEP_SUMMARY"
|
echo "| AppImageTool URL | ${APPIMAGETOOL_DOWNLOAD_URL} |" >> "$GITHUB_STEP_SUMMARY"
|
||||||
|
|
||||||
- name: Build project
|
- name: Build project
|
||||||
|
env:
|
||||||
|
UPDATEINFORMATION: gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|Magic-*EL9.AppImage.zsync
|
||||||
run: |
|
run: |
|
||||||
cd appimage/9
|
cd appimage/9
|
||||||
make \
|
make \
|
||||||
|
|
@ -290,13 +292,20 @@ jobs:
|
||||||
TCL_TARBALL_URL="${TCL_TARBALL_URL}" \
|
TCL_TARBALL_URL="${TCL_TARBALL_URL}" \
|
||||||
TK_TARBALL_URL="${TK_TARBALL_URL}" \
|
TK_TARBALL_URL="${TK_TARBALL_URL}" \
|
||||||
TCL_TARBALL_SHA256="${TCL_TARBALL_SHA256}" \
|
TCL_TARBALL_SHA256="${TCL_TARBALL_SHA256}" \
|
||||||
TK_TARBALL_SHA256="${TK_TARBALL_SHA256}"
|
TK_TARBALL_SHA256="${TK_TARBALL_SHA256}" \
|
||||||
|
UPDATEINFORMATION="${UPDATEINFORMATION}"
|
||||||
|
|
||||||
ln -v Magic-x86_64.AppImage "${MAGIC_APPIMAGE_OUTPUT_FILENAME}"
|
ln -v Magic-x86_64.AppImage "${MAGIC_APPIMAGE_OUTPUT_FILENAME}"
|
||||||
ls -l *.AppImage
|
ls -l *.AppImage
|
||||||
sha256sum *.AppImage
|
sha256sum *.AppImage
|
||||||
pwd
|
pwd
|
||||||
|
|
||||||
|
- name: Validate AppImage
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y --no-install-recommends desktop-file-utils appstream
|
||||||
|
cd appimage/9
|
||||||
|
make validate
|
||||||
|
|
||||||
- name: Create RELEASE-NOTES.txt
|
- name: Create RELEASE-NOTES.txt
|
||||||
run: |
|
run: |
|
||||||
cd appimage/9
|
cd appimage/9
|
||||||
|
|
|
||||||
|
|
@ -52,18 +52,45 @@ prefix/bin/magic: Dockerfile Makefile
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Optional: embed AppImage update info (enables delta-update support via zsync).
|
||||||
|
# Set to e.g. gh-releases-zsync|owner|repo|latest|Magic-*EL10.AppImage.zsync
|
||||||
|
UPDATEINFORMATION ?=
|
||||||
|
|
||||||
appimagetool:
|
appimagetool:
|
||||||
curl -L "$(APPIMAGETOOL_DOWNLOAD_URL)" > ./appimagetool
|
curl -L "$(APPIMAGETOOL_DOWNLOAD_URL)" > ./appimagetool
|
||||||
chmod +x ./appimagetool
|
chmod +x ./appimagetool
|
||||||
|
|
||||||
$(APPIMAGE): prefix/bin/magic appimagetool $(RESOURCES)
|
$(APPIMAGE): prefix/bin/magic appimagetool $(RESOURCES)
|
||||||
cp $(RESOURCES) ./prefix/
|
cp $(RESOURCES) ./prefix/
|
||||||
./appimagetool prefix
|
mkdir -p prefix/usr/share/metainfo
|
||||||
|
cp ../rsc/magic.metainfo.xml prefix/usr/share/metainfo/org.opencircuitdesign.magic.metainfo.xml
|
||||||
|
if [ -n "$(UPDATEINFORMATION)" ]; then \
|
||||||
|
./appimagetool --updateinformation "$(UPDATEINFORMATION)" prefix; \
|
||||||
|
if command -v zsyncmake >/dev/null 2>&1; then \
|
||||||
|
zsyncmake $(APPIMAGE) -u "$(UPDATEINFORMATION)"; \
|
||||||
|
fi; \
|
||||||
|
else \
|
||||||
|
./appimagetool prefix; \
|
||||||
|
fi
|
||||||
|
|
||||||
PREFIX ?= /usr/local
|
PREFIX ?= /usr/local
|
||||||
install:
|
install:
|
||||||
install $(APPIMAGE) $(PREFIX)/bin/magic
|
install $(APPIMAGE) $(PREFIX)/bin/magic
|
||||||
|
|
||||||
|
.PHONY: validate
|
||||||
|
validate: $(APPIMAGE)
|
||||||
|
@echo "Validating AppImage: $(APPIMAGE)"
|
||||||
|
@if command -v desktop-file-validate >/dev/null 2>&1; then \
|
||||||
|
desktop-file-validate prefix/magic.desktop && echo "desktop-file-validate: OK"; \
|
||||||
|
else \
|
||||||
|
echo "desktop-file-validate: not installed, skipping"; \
|
||||||
|
fi
|
||||||
|
@if command -v appstreamcli >/dev/null 2>&1; then \
|
||||||
|
appstreamcli validate prefix/usr/share/metainfo/org.opencircuitdesign.magic.metainfo.xml && echo "appstreamcli: OK"; \
|
||||||
|
else \
|
||||||
|
echo "appstreamcli: not installed, skipping"; \
|
||||||
|
fi
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -f *.AppImage
|
rm -f *.AppImage
|
||||||
|
|
|
||||||
|
|
@ -52,18 +52,45 @@ prefix/bin/magic: Dockerfile Makefile
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Optional: embed AppImage update info (enables delta-update support via zsync).
|
||||||
|
# Set to e.g. gh-releases-zsync|owner|repo|latest|Magic-*EL7.AppImage.zsync
|
||||||
|
UPDATEINFORMATION ?=
|
||||||
|
|
||||||
appimagetool:
|
appimagetool:
|
||||||
curl -L "$(APPIMAGETOOL_DOWNLOAD_URL)" > ./appimagetool
|
curl -L "$(APPIMAGETOOL_DOWNLOAD_URL)" > ./appimagetool
|
||||||
chmod +x ./appimagetool
|
chmod +x ./appimagetool
|
||||||
|
|
||||||
$(APPIMAGE): prefix/bin/magic appimagetool $(RESOURCES)
|
$(APPIMAGE): prefix/bin/magic appimagetool $(RESOURCES)
|
||||||
cp $(RESOURCES) ./prefix/
|
cp $(RESOURCES) ./prefix/
|
||||||
./appimagetool prefix
|
mkdir -p prefix/usr/share/metainfo
|
||||||
|
cp ../rsc/magic.metainfo.xml prefix/usr/share/metainfo/org.opencircuitdesign.magic.metainfo.xml
|
||||||
|
if [ -n "$(UPDATEINFORMATION)" ]; then \
|
||||||
|
./appimagetool --updateinformation "$(UPDATEINFORMATION)" prefix; \
|
||||||
|
if command -v zsyncmake >/dev/null 2>&1; then \
|
||||||
|
zsyncmake $(APPIMAGE) -u "$(UPDATEINFORMATION)"; \
|
||||||
|
fi; \
|
||||||
|
else \
|
||||||
|
./appimagetool prefix; \
|
||||||
|
fi
|
||||||
|
|
||||||
PREFIX ?= /usr/local
|
PREFIX ?= /usr/local
|
||||||
install:
|
install:
|
||||||
install $(APPIMAGE) $(PREFIX)/bin/magic
|
install $(APPIMAGE) $(PREFIX)/bin/magic
|
||||||
|
|
||||||
|
.PHONY: validate
|
||||||
|
validate: $(APPIMAGE)
|
||||||
|
@echo "Validating AppImage: $(APPIMAGE)"
|
||||||
|
@if command -v desktop-file-validate >/dev/null 2>&1; then \
|
||||||
|
desktop-file-validate prefix/magic.desktop && echo "desktop-file-validate: OK"; \
|
||||||
|
else \
|
||||||
|
echo "desktop-file-validate: not installed, skipping"; \
|
||||||
|
fi
|
||||||
|
@if command -v appstreamcli >/dev/null 2>&1; then \
|
||||||
|
appstreamcli validate prefix/usr/share/metainfo/org.opencircuitdesign.magic.metainfo.xml && echo "appstreamcli: OK"; \
|
||||||
|
else \
|
||||||
|
echo "appstreamcli: not installed, skipping"; \
|
||||||
|
fi
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -f *.AppImage
|
rm -f *.AppImage
|
||||||
|
|
|
||||||
|
|
@ -52,18 +52,45 @@ prefix/bin/magic: Dockerfile Makefile
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Optional: embed AppImage update info (enables delta-update support via zsync).
|
||||||
|
# Set to e.g. gh-releases-zsync|owner|repo|latest|Magic-*EL8.AppImage.zsync
|
||||||
|
UPDATEINFORMATION ?=
|
||||||
|
|
||||||
appimagetool:
|
appimagetool:
|
||||||
curl -L "$(APPIMAGETOOL_DOWNLOAD_URL)" > ./appimagetool
|
curl -L "$(APPIMAGETOOL_DOWNLOAD_URL)" > ./appimagetool
|
||||||
chmod +x ./appimagetool
|
chmod +x ./appimagetool
|
||||||
|
|
||||||
$(APPIMAGE): prefix/bin/magic appimagetool $(RESOURCES)
|
$(APPIMAGE): prefix/bin/magic appimagetool $(RESOURCES)
|
||||||
cp $(RESOURCES) ./prefix/
|
cp $(RESOURCES) ./prefix/
|
||||||
./appimagetool prefix
|
mkdir -p prefix/usr/share/metainfo
|
||||||
|
cp ../rsc/magic.metainfo.xml prefix/usr/share/metainfo/org.opencircuitdesign.magic.metainfo.xml
|
||||||
|
if [ -n "$(UPDATEINFORMATION)" ]; then \
|
||||||
|
./appimagetool --updateinformation "$(UPDATEINFORMATION)" prefix; \
|
||||||
|
if command -v zsyncmake >/dev/null 2>&1; then \
|
||||||
|
zsyncmake $(APPIMAGE) -u "$(UPDATEINFORMATION)"; \
|
||||||
|
fi; \
|
||||||
|
else \
|
||||||
|
./appimagetool prefix; \
|
||||||
|
fi
|
||||||
|
|
||||||
PREFIX ?= /usr/local
|
PREFIX ?= /usr/local
|
||||||
install:
|
install:
|
||||||
install $(APPIMAGE) $(PREFIX)/bin/magic
|
install $(APPIMAGE) $(PREFIX)/bin/magic
|
||||||
|
|
||||||
|
.PHONY: validate
|
||||||
|
validate: $(APPIMAGE)
|
||||||
|
@echo "Validating AppImage: $(APPIMAGE)"
|
||||||
|
@if command -v desktop-file-validate >/dev/null 2>&1; then \
|
||||||
|
desktop-file-validate prefix/magic.desktop && echo "desktop-file-validate: OK"; \
|
||||||
|
else \
|
||||||
|
echo "desktop-file-validate: not installed, skipping"; \
|
||||||
|
fi
|
||||||
|
@if command -v appstreamcli >/dev/null 2>&1; then \
|
||||||
|
appstreamcli validate prefix/usr/share/metainfo/org.opencircuitdesign.magic.metainfo.xml && echo "appstreamcli: OK"; \
|
||||||
|
else \
|
||||||
|
echo "appstreamcli: not installed, skipping"; \
|
||||||
|
fi
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -f *.AppImage
|
rm -f *.AppImage
|
||||||
|
|
|
||||||
|
|
@ -52,18 +52,45 @@ prefix/bin/magic: Dockerfile Makefile
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Optional: embed AppImage update info (enables delta-update support via zsync).
|
||||||
|
# Set to e.g. gh-releases-zsync|owner|repo|latest|Magic-*EL9.AppImage.zsync
|
||||||
|
UPDATEINFORMATION ?=
|
||||||
|
|
||||||
appimagetool:
|
appimagetool:
|
||||||
curl -L "$(APPIMAGETOOL_DOWNLOAD_URL)" > ./appimagetool
|
curl -L "$(APPIMAGETOOL_DOWNLOAD_URL)" > ./appimagetool
|
||||||
chmod +x ./appimagetool
|
chmod +x ./appimagetool
|
||||||
|
|
||||||
$(APPIMAGE): prefix/bin/magic appimagetool $(RESOURCES)
|
$(APPIMAGE): prefix/bin/magic appimagetool $(RESOURCES)
|
||||||
cp $(RESOURCES) ./prefix/
|
cp $(RESOURCES) ./prefix/
|
||||||
./appimagetool prefix
|
mkdir -p prefix/usr/share/metainfo
|
||||||
|
cp ../rsc/magic.metainfo.xml prefix/usr/share/metainfo/org.opencircuitdesign.magic.metainfo.xml
|
||||||
|
if [ -n "$(UPDATEINFORMATION)" ]; then \
|
||||||
|
./appimagetool --updateinformation "$(UPDATEINFORMATION)" prefix; \
|
||||||
|
if command -v zsyncmake >/dev/null 2>&1; then \
|
||||||
|
zsyncmake $(APPIMAGE) -u "$(UPDATEINFORMATION)"; \
|
||||||
|
fi; \
|
||||||
|
else \
|
||||||
|
./appimagetool prefix; \
|
||||||
|
fi
|
||||||
|
|
||||||
PREFIX ?= /usr/local
|
PREFIX ?= /usr/local
|
||||||
install:
|
install:
|
||||||
install $(APPIMAGE) $(PREFIX)/bin/magic
|
install $(APPIMAGE) $(PREFIX)/bin/magic
|
||||||
|
|
||||||
|
.PHONY: validate
|
||||||
|
validate: $(APPIMAGE)
|
||||||
|
@echo "Validating AppImage: $(APPIMAGE)"
|
||||||
|
@if command -v desktop-file-validate >/dev/null 2>&1; then \
|
||||||
|
desktop-file-validate prefix/magic.desktop && echo "desktop-file-validate: OK"; \
|
||||||
|
else \
|
||||||
|
echo "desktop-file-validate: not installed, skipping"; \
|
||||||
|
fi
|
||||||
|
@if command -v appstreamcli >/dev/null 2>&1; then \
|
||||||
|
appstreamcli validate prefix/usr/share/metainfo/org.opencircuitdesign.magic.metainfo.xml && echo "appstreamcli: OK"; \
|
||||||
|
else \
|
||||||
|
echo "appstreamcli: not installed, skipping"; \
|
||||||
|
fi
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -f *.AppImage
|
rm -f *.AppImage
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<component type="console-application">
|
||||||
|
<id>org.opencircuitdesign.magic</id>
|
||||||
|
|
||||||
|
<name>Magic</name>
|
||||||
|
<summary>A VLSI Layout System</summary>
|
||||||
|
|
||||||
|
<description>
|
||||||
|
<p>
|
||||||
|
Magic is an open-source VLSI (Very Large Scale Integration) layout tool that
|
||||||
|
allows users to design and verify integrated circuit layouts. It supports
|
||||||
|
design rule checking (DRC), extraction of circuit netlists, and provides
|
||||||
|
interfaces to SPICE and other common EDA tools.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Originally developed at UC Berkeley, Magic has been maintained and extended
|
||||||
|
by the open hardware community and is widely used in academic and hobbyist
|
||||||
|
chip design projects.
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
|
||||||
|
<url type="homepage">http://opencircuitdesign.com/magic/</url>
|
||||||
|
<url type="bugtracker">https://github.com/RTimothyEdwards/magic/issues</url>
|
||||||
|
|
||||||
|
<categories>
|
||||||
|
<category>Development</category>
|
||||||
|
<category>Electronics</category>
|
||||||
|
</categories>
|
||||||
|
|
||||||
|
<provides>
|
||||||
|
<binary>magic</binary>
|
||||||
|
</provides>
|
||||||
|
|
||||||
|
<content_rating type="oars-1.1"/>
|
||||||
|
</component>
|
||||||
Loading…
Reference in New Issue