1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-01 05:45:45 +00:00

- New port: graphics/aeskulap

Aeskulap is a medical image viewer.
  It is able to load a series of special images stored in the DICOM format
  for review. Additionally Aeskulap is able to query and fetch DICOM images
  from archive nodes (also called PACS) over the network.
This commit is contained in:
Pietro Cerutti 2010-07-31 10:07:19 +00:00
parent 13594e91ac
commit e87274f2f7
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=258523
19 changed files with 561 additions and 0 deletions

View File

@ -20,6 +20,7 @@
SUBDIR += aalib
SUBDIR += aaphoto
SUBDIR += acidwarp
SUBDIR += aeskulap
SUBDIR += agave
SUBDIR += agg
SUBDIR += albumshaper

View File

@ -0,0 +1,37 @@
# New ports collection Makefile for: aeskulap
# Date created: 21 July 2010
# Whom: gahr
#
# $FreeBSD$
#
PORTNAME= aeskulap
PORTVERSION= 0.2.1
CATEGORIES= graphics
MASTER_SITES= http://www.bms-austria.com/%7Epipelka/${PORTNAME}/
MAINTAINER= gahr@FreeBSD.org
COMMENT= A medical image viewer
LIB_DEPENDS= gtkmm-2.4:${PORTSDIR}/x11-toolkits/gtkmm24 \
glademm-2.4:${PORTSDIR}/devel/libglademm24 \
gconfmm-2.6:${PORTSDIR}/devel/gconfmm26 \
dcmdata.3:${PORTSDIR}/devel/dcmtk
USE_GETTEXT= yes
USE_GNOME= gconf2
GCONF_SCHEMAS= aeskulap.schemas
USE_LDCONFIG= ${PREFIX}/lib/aeskulap
CXXFLAGS+= -I${LOCALBASE}/include/dcmtk \
-I${LOCALBASE}/include/dcmtk/config \
-I${LOCALBASE}/include/dcmtk/ofstd \
-I${LOCALBASE}/include/dcmtk/dcmdata \
-I${LOCALBASE}/include/dcmtk/dcmnet \
-I${LOCALBASE}/include/dcmtk/dcmjpeg \
-I${LOCALBASE}/include/dcmtk/dcmimage \
-I${LOCALBASE}/include/dcmtk/dcmimgle \
-I${LOCALBASE}/include
GNU_CONFIGURE= yes
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
MD5 (aeskulap-0.2.1.tar.gz) = 2936dc88e588bc6ca8a1d5d8d98fe9cc
SHA256 (aeskulap-0.2.1.tar.gz) = 6bbf1a26466ba190b1807e06f3d682575439668d6f11d7a5fa6b3fb1049fab50
SIZE (aeskulap-0.2.1.tar.gz) = 4272339

View File

@ -0,0 +1,27 @@
--- Makefile.am.orig 2010-07-26 18:23:45.000000000 +0000
+++ Makefile.am 2010-07-26 18:24:07.000000000 +0000
@@ -1,6 +1,5 @@
SUBDIRS = \
po \
- dcmtk \
configuration \
imagepool \
widgets \
@@ -33,17 +32,6 @@
@INTLTOOL_DESKTOP_RULE@
-dist-hook:
- mkdir -p $(distdir)/dcmtk
- cp -Rf $(top_srcdir)/dcmtk/* $(distdir)/dcmtk
- cd $(distdir)/dcmtk && make distclean
- list=`find $(distdir)/dcmtk -name "CVS"` && rm -Rf $$list
- list=`find $(distdir)/dcmtk -name ".cvsignore"` && rm -f $$list
- list=`find $(distdir)/dcmtk -name ".#*"` && rm -f $$list
- list=`find $(distdir)/dcmtk -name "*.a"` && rm -f $$list
- list=`find $(distdir)/dcmtk -name "*.so"` && rm -f $$list
-
distclean: distclean-recursive
- cd $(top_builddir)/dcmtk && make distclean
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile

View File

@ -0,0 +1,29 @@
--- Makefile.in.orig 2010-07-26 18:25:22.000000000 +0000
+++ Makefile.in 2010-07-26 18:25:37.000000000 +0000
@@ -237,7 +237,6 @@
target_alias = @target_alias@
SUBDIRS = \
po \
- dcmtk \
configuration \
imagepool \
widgets \
@@ -709,18 +708,7 @@
@INTLTOOL_DESKTOP_RULE@
-dist-hook:
- mkdir -p $(distdir)/dcmtk
- cp -Rf $(top_srcdir)/dcmtk/* $(distdir)/dcmtk
- cd $(distdir)/dcmtk && make distclean
- list=`find $(distdir)/dcmtk -name "CVS"` && rm -Rf $$list
- list=`find $(distdir)/dcmtk -name ".cvsignore"` && rm -f $$list
- list=`find $(distdir)/dcmtk -name ".#*"` && rm -f $$list
- list=`find $(distdir)/dcmtk -name "*.a"` && rm -f $$list
- list=`find $(distdir)/dcmtk -name "*.so"` && rm -f $$list
-
distclean: distclean-recursive
- cd $(top_builddir)/dcmtk && make distclean
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.

View File

@ -0,0 +1,10 @@
--- configuration/aconfiguration.cpp.orig 2010-07-26 18:34:00.000000000 +0000
+++ configuration/aconfiguration.cpp 2010-07-26 18:34:14.000000000 +0000
@@ -27,6 +27,7 @@
*/
#include "aconfiguration.h"
+#include <libintl.h>
namespace Aeskulap {

View File

@ -0,0 +1,33 @@
--- configure.orig 2010-07-26 19:30:23.000000000 +0000
+++ configure 2010-07-26 19:30:02.000000000 +0000
@@ -23827,17 +23827,11 @@
-DCMJPEG_LIBS="-L../dcmtk/dcmjpeg/libijg8 -L../dcmtk/dcmjpeg/libijg12 -L../dcmtk/dcmjpeg/libijg16 -lijg8 -lijg12 -lijg16"
+DCMJPEG_LIBS="-lijg8 -lijg12 -lijg16"
-DCMTK_CFLAGS="-DHAVE_CONFIG_H -I\$(top_srcdir)/dcmtk/config/include -I\$(top_srcdir)/dcmtk/ofstd/include -I\$(top_srcdir)/dcmtk/dcmdata/include -I\$(top_srcdir)/dcmtk/dcmnet/include -I\$(top_srcdir)/dcmtk/dcmimage/include -I\$(top_srcdir)/dcmtk/dcmimgle/include -I\$(top_srcdir)/dcmtk/dcmjpeg/include"
-DCMTK_LIBS="-L../dcmtk/ofstd/libsrc \
--L../dcmtk/dcmdata/libsrc \
--L../dcmtk/dcmnet/libsrc \
--L../dcmtk/dcmjpeg/libsrc \
--L../dcmtk/dcmimage/libsrc \
--L../dcmtk/dcmimgle/libsrc \
--ldcmjpeg \$(DCMJPEG_LIBS) -ldcmimage -ldcmimgle -ldcmnet -ldcmdata -lofstd -lrt -lpthread"
+DCMTK_CFLAGS=""
+DCMTK_LIBS="-ldcmjpeg \$(DCMJPEG_LIBS) -ldcmimage -ldcmimgle -ldcmnet -ldcmdata -lofstd -lrt -lpthread"
@@ -25432,9 +25426,3 @@
# would make configure fail if this is the last instruction.
$ac_cs_success || { (exit 1); exit 1; }
fi
-
-
-cd $srcdir/dcmtk
-export CFLAGS="$CFLAGS"
-export CXXFLAGS="$CXXFLAGS"
-sh ./configure --without-openssl --without-zlib --without-libwrap --prefix=${prefix} --libdir=${prefix}/lib/aeskulap

View File

@ -0,0 +1,32 @@
--- configure.in.orig 2010-07-26 19:28:08.000000000 +0000
+++ configure.in 2010-07-26 19:28:57.000000000 +0000
@@ -77,17 +77,11 @@
dnl AC_CONFIG_SUBDIRS(dcmtk)
-DCMJPEG_LIBS="-L../dcmtk/dcmjpeg/libijg8 -L../dcmtk/dcmjpeg/libijg12 -L../dcmtk/dcmjpeg/libijg16 -lijg8 -lijg12 -lijg16"
+DCMJPEG_LIBS="-lijg8 -lijg12 -lijg16"
AC_SUBST(DCMJPEG_LIBS)
-DCMTK_CFLAGS="-DHAVE_CONFIG_H -I\$(top_srcdir)/dcmtk/config/include -I\$(top_srcdir)/dcmtk/ofstd/include -I\$(top_srcdir)/dcmtk/dcmdata/include -I\$(top_srcdir)/dcmtk/dcmnet/include -I\$(top_srcdir)/dcmtk/dcmimage/include -I\$(top_srcdir)/dcmtk/dcmimgle/include -I\$(top_srcdir)/dcmtk/dcmjpeg/include"
-DCMTK_LIBS="-L../dcmtk/ofstd/libsrc \
--L../dcmtk/dcmdata/libsrc \
--L../dcmtk/dcmnet/libsrc \
--L../dcmtk/dcmjpeg/libsrc \
--L../dcmtk/dcmimage/libsrc \
--L../dcmtk/dcmimgle/libsrc \
--ldcmjpeg \$(DCMJPEG_LIBS) -ldcmimage -ldcmimgle -ldcmnet -ldcmdata -lofstd -lrt -lpthread"
+DCMTK_CFLAGS=""
+DCMTK_LIBS="-ldcmjpeg \$(DCMJPEG_LIBS) -ldcmimage -ldcmimgle -ldcmnet -ldcmdata -lofstd -lrt -lpthread"
AC_SUBST(DCMTK_CFLAGS)
AC_SUBST(DCMTK_LIBS)
@@ -111,8 +105,3 @@
widgets/Makefile
pixmaps/Makefile
])
-
-cd $srcdir/dcmtk
-export CFLAGS="$CFLAGS"
-export CXXFLAGS="$CXXFLAGS"
-sh ./configure --without-openssl --without-zlib --without-libwrap --prefix=${prefix} --libdir=${prefix}/lib/aeskulap

View File

@ -0,0 +1,56 @@
--- imagepool/fileloader.cpp.orig 2010-07-26 21:27:54.000000000 +0000
+++ imagepool/fileloader.cpp 2010-07-26 21:41:27.000000000 +0000
@@ -56,7 +56,8 @@
}
void FileLoader::prescan_files(std::list< Glib::ustring >* filelist) {
- std::string studyinstanceuid;
+ OFString studyinstanceuid;
+ const char *studyinstanceuid_str;
std::list< Glib::ustring >::iterator i = filelist->begin();
unsigned int curr = 0;
unsigned int max = filelist->size();
@@ -70,16 +71,18 @@
(*i).c_str(),
EXS_Unknown,
EGL_noChange,
- DCM_MaxReadLength,
- false);
+ DCM_MaxReadLength);
if(cond.good() && dfile.getDataset()->findAndGetOFString(DCM_StudyInstanceUID, studyinstanceuid).good()) {
- std::string seriesinstanceuid;
+ studyinstanceuid_str = studyinstanceuid.c_str();
+ OFString seriesinstanceuid;
+ const char *seriesinstanceuid_str;
dfile.getDataset()->findAndGetOFString(DCM_SeriesInstanceUID, seriesinstanceuid);
+ seriesinstanceuid_str = seriesinstanceuid.c_str();
- m_cache[studyinstanceuid].m_instancecount++;
- m_cache[studyinstanceuid].m_seriesuid.insert(seriesinstanceuid);
- m_cache[studyinstanceuid].m_seriescount = m_cache[studyinstanceuid].m_seriesuid.size();
+ m_cache[studyinstanceuid_str].m_instancecount++;
+ m_cache[studyinstanceuid_str].m_seriesuid.insert(seriesinstanceuid_str);
+ m_cache[studyinstanceuid_str].m_seriescount = m_cache[studyinstanceuid_str].m_seriesuid.size();
}
}
}
@@ -87,7 +90,7 @@
bool FileLoader::run() {
std::list< Glib::ustring >* filelist = m_filelist;
std::list< Glib::ustring >::iterator i = filelist->begin();
- std::string studyinstanceuid;
+ OFString studyinstanceuid;
for(; i != filelist->end(); i++) {
DcmFileFormat dfile;
@@ -96,8 +99,7 @@
(*i).c_str(),
EXS_Unknown,
EGL_noChange,
- DCM_MaxReadLength,
- false);
+ DCM_MaxReadLength);
if(!cond.good()) {
std::cout << "unable to open file !!!" << std::endl;

View File

@ -0,0 +1,70 @@
--- imagepool/netquery.cpp.orig 2010-07-26 21:45:52.000000000 +0000
+++ imagepool/netquery.cpp 2010-07-26 21:53:57.000000000 +0000
@@ -31,10 +31,11 @@
#include "dcdeftag.h"
#include "poolfindassociation.h"
#include "netclient.h"
-#include "gettext.h"
#include <iostream>
+#include <libintl.h>
+
namespace ImagePool {
static void fix_date(std::string& date) {
@@ -50,7 +51,7 @@
}
static void fix_time(std::string& time) {
- unsigned int i = time.find(".");
+ size_t i = time.find(".");
if(i != std::string::npos) {
time = time.substr(0, i);
}
@@ -88,28 +89,35 @@
Glib::RefPtr< ImagePool::Series > create_query_series(DcmDataset* dset) {
Glib::RefPtr< ImagePool::Series > result = Glib::RefPtr< ImagePool::Series >(new Series);
+ OFString res;
- dset->findAndGetOFString(DCM_SeriesInstanceUID, result->m_seriesinstanceuid);
- dset->findAndGetOFString(DCM_SeriesDescription, result->m_description);
+ dset->findAndGetOFString(DCM_SeriesInstanceUID, res);
+ result->m_seriesinstanceuid = res.c_str();
+ dset->findAndGetOFString(DCM_SeriesDescription, res);
+ result->m_description = res.c_str();
if(result->m_description.empty()) {
- dset->findAndGetOFString(DCM_StudyDescription, result->m_description);
+ dset->findAndGetOFString(DCM_StudyDescription, res);
+ result->m_description = res.c_str();
}
if(result->m_description.empty()) {
result->m_description = gettext("no description");
}
- dset->findAndGetOFString(DCM_Modality, result->m_modality);
+ dset->findAndGetOFString(DCM_Modality, res);
+ result->m_modality = res.c_str();
- dset->findAndGetOFString(DCM_SeriesTime, result->m_seriestime);
+ dset->findAndGetOFString(DCM_SeriesTime, res);
+ result->m_seriestime = res.c_str();
if(result->m_seriestime.empty()) {
- dset->findAndGetOFString(DCM_StudyTime, result->m_seriestime);
+ dset->findAndGetOFString(DCM_StudyTime, res);
+ result->m_seriestime = res.c_str();
}
- dset->findAndGetOFString(DCM_StationName, result->m_stationname);
+ dset->findAndGetOFString(DCM_StationName, res);
+ result->m_stationname = res.c_str();
- std::string buffer;
- dset->findAndGetOFString(DCM_NumberOfSeriesRelatedInstances, buffer);
- int i = atoi(buffer.c_str());
+ dset->findAndGetOFString(DCM_NumberOfSeriesRelatedInstances, res);
+ int i = atoi(res.c_str());
if(i != 0) {
result->m_instancecount = i;
}

View File

@ -0,0 +1,130 @@
--- imagepool/poolinstance.cpp.orig 2010-07-26 21:55:22.000000000 +0000
+++ imagepool/poolinstance.cpp 2010-07-27 14:33:34.000000000 +0000
@@ -37,6 +37,8 @@
#include <iostream>
+#include <libintl.h>
+
namespace ImagePool {
Instance::Instance(const std::string& sopinstanceuid) :
@@ -279,35 +281,35 @@
// get SOPInstanceUID
- std::string sop;
+ OFString sop;
dset->findAndGetOFString(DCM_SOPInstanceUID, sop).bad();
// wrap in smartpointer
- Glib::RefPtr<ImagePool::Instance> r = Glib::RefPtr<ImagePool::Instance>(new ImagePool::Instance(sop));
+ Glib::RefPtr<ImagePool::Instance> r = Glib::RefPtr<ImagePool::Instance>(new ImagePool::Instance(sop.c_str()));
// set encoding
- std::string enc[2];
+ OFString enc[2];
dset->findAndGetOFString(DCM_SpecificCharacterSet, enc[0], 0);
dset->findAndGetOFString(DCM_SpecificCharacterSet, enc[1], 1);
- r->set_encoding(enc[0], enc[1]);
+ r->set_encoding(enc[0].c_str(), enc[1].c_str());
// set dicom uid's
- r->m_sopinstanceuid = sop;
+ r->m_sopinstanceuid = sop.c_str();
- std::string seriesuid;
+ OFString seriesuid;
if(dset->findAndGetOFString(DCM_SeriesInstanceUID, seriesuid).good()) {
- r->m_seriesinstanceuid = seriesuid;
+ r->m_seriesinstanceuid = seriesuid.c_str();
}
- std::string studyuid;
+ OFString studyuid;
if(dset->findAndGetOFString(DCM_StudyInstanceUID, studyuid).good()) {
- r->m_studyinstanceuid = studyuid;
+ r->m_studyinstanceuid = studyuid.c_str();
}
r->m_default_windowcenter = 0;
r->m_default_windowwidth = 0;
- std::string value;
+ OFString value;
// get instancenumber
if(dset->findAndGetOFString(DCM_InstanceNumber, value).good()) {
@@ -438,29 +440,29 @@
// set date
if(dset->findAndGetOFString(DCM_AcquisitionDate, value).good()) {
- r->m_date = value;
+ r->m_date = value.c_str();
}
else if(dset->findAndGetOFString(DCM_SeriesDate, value).good()) {
- r->m_date = value;
+ r->m_date = value.c_str();
}
else if(dset->findAndGetOFString(DCM_StudyDate, value).good()) {
- r->m_date = value;
+ r->m_date = value.c_str();
}
// set time
if(dset->findAndGetOFString(DCM_AcquisitionTime, value).good()) {
- r->m_time = value;
+ r->m_time = value.c_str();
}
else if(dset->findAndGetOFString(DCM_SeriesTime, value).good()) {
- r->m_time = value;
+ r->m_time = value.c_str();
}
else if(dset->findAndGetOFString(DCM_StudyTime, value).good()) {
- r->m_time = value;
+ r->m_time = value.c_str();
}
// set ManufacturersModelName
if(dset->findAndGetOFString(DCM_ManufacturersModelName, value).good()) {
- r->m_model = value;
+ r->m_model = value.c_str();
}
// set pixelspacing
@@ -512,8 +514,10 @@
if(dset->findAndGetOFString(DCM_PatientsName, value).good()) {
r->m_patientsname = r->convert_string(value.c_str());
}
- dset->findAndGetOFString(DCM_PatientsBirthDate, r->m_patientsbirthdate);
- dset->findAndGetOFString(DCM_PatientsSex, r->m_patientssex);
+ dset->findAndGetOFString(DCM_PatientsBirthDate, value);
+ r->m_patientsbirthdate = value.c_str();
+ dset->findAndGetOFString(DCM_PatientsSex, value);
+ r->m_patientssex = value.c_str();
if(dset->findAndGetOFString(DCM_StudyDescription, value).good()) {
r->m_studydescription = r->convert_string(value.c_str());
}
@@ -528,8 +532,10 @@
r->m_studydescription = gettext("no description");
}
- dset->findAndGetOFString(DCM_StudyDate, r->m_studydate);
- dset->findAndGetOFString(DCM_StudyTime, r->m_studytime);
+ dset->findAndGetOFString(DCM_StudyDate, value);
+ r->m_studydate = value.c_str();
+ dset->findAndGetOFString(DCM_StudyTime, value);
+ r->m_studytime = value.c_str();
// series params
if(dset->findAndGetOFString(DCM_InstitutionName, value).good()) {
@@ -549,7 +555,8 @@
r->m_seriesdescription = gettext("no description");
}
- dset->findAndGetOFString(DCM_Modality, r->m_modality);
+ dset->findAndGetOFString(DCM_Modality, value);
+ r->m_modality = value.c_str();
Glib::RefPtr<ImagePool::Study> new_study = get_study(r->m_studyinstanceuid);
if(new_study->size() == 0) {

View File

@ -0,0 +1,28 @@
--- imagepool/poolmoveassociation.cpp.orig 2010-07-27 14:42:55.000000000 +0000
+++ imagepool/poolmoveassociation.cpp 2010-07-27 14:53:04.000000000 +0000
@@ -33,7 +33,6 @@
#include "djencode.h"
#include "djrplol.h"
-
MoveAssociation::MoveAssociation() {
m_abstractSyntax = UID_MOVEStudyRootQueryRetrieveInformationModel;
m_maxReceivePDULength = ASC_DEFAULTMAXPDU;
@@ -175,6 +174,9 @@
knownAbstractSyntaxes, DIM_OF(knownAbstractSyntaxes),
transferSyntaxes, DIM_OF(transferSyntaxes));
+ /* FIXME
+ * dcmStorageSOPClassUIDs and numberOfDcmStorageSOPClassUIDs
+ * are not defined anymore
if (cond.good()) {
// the array of Storage SOP Class UIDs comes from dcuid.h
cond = ASC_acceptContextsWithPreferredTransferSyntaxes(
@@ -182,6 +184,7 @@
dcmStorageSOPClassUIDs, numberOfDcmStorageSOPClassUIDs,
transferSyntaxes, DIM_OF(transferSyntaxes));
}
+ */
}
if (cond.good()) {

View File

@ -0,0 +1,18 @@
--- imagepool/poolnetwork.cpp.orig 2010-07-27 14:53:57.000000000 +0000
+++ imagepool/poolnetwork.cpp 2010-07-27 14:55:07.000000000 +0000
@@ -227,10 +227,14 @@
}
/* the array of Storage SOP Class UIDs comes from dcuid.h */
+ /* FIXME
+ * dcmStorageSOPClassUIDs and numberOfDcmStorageSOPClassUIDs
+ * are not defined anymore
for (i=0; i<numberOfDcmStorageSOPClassUIDs && SUCCESS(cond); i++) {
cond = ASC_addPresentationContext(params, pid, dcmStorageSOPClassUIDs[i], transferSyntaxes, transferSyntaxes_count);
- pid += 2; /* only odd presentation context id's */
+ pid += 2;
}
+ */
return cond;
}

View File

@ -0,0 +1,11 @@
--- imagepool/poolservers.cpp.orig 2010-07-26 18:39:13.000000000 +0000
+++ imagepool/poolservers.cpp 2010-07-26 18:39:33.000000000 +0000
@@ -29,6 +29,8 @@
#include "imagepool.h"
#include "poolassociation.h"
+#include <libintl.h>
+
namespace ImagePool {
extern Network net;

View File

@ -0,0 +1,11 @@
--- src/main.cpp.orig 2010-07-27 15:12:57.000000000 +0000
+++ src/main.cpp 2010-07-27 15:13:13.000000000 +0000
@@ -43,6 +43,8 @@
#include <iostream>
+#include <libintl.h>
+
int main(int argc, char* argv[]) {
br_init(NULL);

View File

@ -0,0 +1,11 @@
--- widgets/awindowleveltoolbutton.cpp.orig 2010-07-27 14:58:36.000000000 +0000
+++ widgets/awindowleveltoolbutton.cpp 2010-07-27 14:58:44.000000000 +0000
@@ -2,6 +2,8 @@
#include "aiconfactory.h"
#include <iostream>
+#include <libintl.h>
+
namespace Aeskulap {
std::set<WindowLevelToolButton*> WindowLevelToolButton::m_widgetlist;

View File

@ -0,0 +1,11 @@
--- widgets/seriesview.cpp.orig 2010-07-27 15:03:43.000000000 +0000
+++ widgets/seriesview.cpp 2010-07-27 15:03:57.000000000 +0000
@@ -36,6 +36,8 @@
#include <iostream>
+#include <libintl.h>
+
SeriesView::SeriesView(const Glib::RefPtr<ImagePool::Series>& series) :
Aeskulap::Tiler<Aeskulap::Display>(1, 1),
m_selected(false),

View File

@ -0,0 +1,7 @@
Aeskulap is a medical image viewer. It is able to load a series of special
images stored in the DICOM format for review. Additionally Aeskulap is able
to query and fetch DICOM images from archive nodes (also called PACS) over
the network. The goal of this project is to create a full open source
replacement for commercially available DICOM viewers.
WWW: http://aeskulap.nongnu.org/

View File

@ -0,0 +1,36 @@
bin/aeskulap
lib/aeskulap/libconfiguration.a
lib/aeskulap/libconfiguration.la
lib/aeskulap/libconfiguration.so.0.0
lib/aeskulap/libimagepool.a
lib/aeskulap/libimagepool.la
lib/aeskulap/libimagepool.so.0.0
share/applications/aeskulap.desktop
%%DATADIR%%/glade/aeskulap.glade
%%DATADIR%%/images/aeskulap.png
%%DATADIR%%/images/cursor_pan.png
%%DATADIR%%/images/cursor_windowlevel.png
%%DATADIR%%/images/cursor_zoom.png
%%DATADIR%%/images/filmholes-big-left.png
%%DATADIR%%/images/filmholes-big-right.png
%%DATADIR%%/images/grid-1.png
%%DATADIR%%/images/grid-16.png
%%DATADIR%%/images/grid-2h.png
%%DATADIR%%/images/grid-2v.png
%%DATADIR%%/images/grid-4.png
%%DATADIR%%/images/series-1x1.png
%%DATADIR%%/images/series-2x1.png
%%DATADIR%%/images/series-2x2.png
%%DATADIR%%/images/series-3x2.png
%%DATADIR%%/images/series-3x3.png
%%DATADIR%%/images/series-4x4.png
%%DATADIR%%/images/start-here.png
%%DATADIR%%/images/stock-layers-24.png
%%DATADIR%%/images/stock-tool-eraser-22.png
%%DATADIR%%/images/stock-tool-measure-22.png
%%DATADIR%%/images/stock-tool-scale-22.png
@dirrm %%DATADIR%%/images
@dirrm %%DATADIR%%/glade
@dirrm %%DATADIR%%
@dirrm lib/aeskulap
@dirrmtry share/applications