Package: puredata Version: 0.42.5-3 Severity: important Tags: patch I just found an important thing to update in the 'puredata' package and I was hoping to get the new version uploaded soon, since Ubuntu is going to be taking a Debian/testing snapshot on Feb 11th. Basically, the package only includes m_pd.h, but many externals also depend on s_stuff.h, m_imp.h, and g_canvas.h. These headers haven'tchanged much in a long time, m_imp.h hasn't changed at all in 4 years. If we want to add more externals to Debian, then those headers will need to be there in order for things to build.
git-format-patch attached. * debian/install: - changed binary from /usr/bin/pd to /usr/bin/puredata - added abstractions from extra to usr/lib/pd/extra - added headers needed to build externals: m_imp.h, s_stuff.h, g_canvas.h * debian/links: made /usr/bin/pd a link to /usr/bin/puredata * debian/menu: made use /usr/bin/puredata to always start this version * debian/puredata.desktop: - added translations for the Comment field - use the /usr/bin/puredata binary * debian/patches/05_user-install-paths.diff: - added standard paths for people to install their own externals * debian/patches/06_bin-puredata.diff: - patched pd to call binary /usr/bin/puredata -- System Information: Debian Release: 5.0.3 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.26-2-686 (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages puredata depends on: ii libasound2 1.0.16-2 ALSA library ii libc6 2.7-18 GNU C Library: Shared libraries ii libjack0 0.109.2-5 JACK Audio Connection Kit (librari ii tcl8.4 8.4.19-2 Tcl (the Tool Command Language) v8 ii tk8.4 8.4.19-2 Tk toolkit for Tcl and X11, v8.4 - Versions of packages puredata recommends: pn gem <none> (no description available) puredata suggests no packages.
diff --git a/debian/README.Debian b/debian/README.Debian index 68994f3..e7b7d5d 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -30,7 +30,7 @@ Configuration Instead of passing your command line flags to pd, you can write them into your ~/.pdrc file. Each commandline switch on its own line like - -path /usr/lib/pd/doc + -path /usr/local/lib/pd-externals -frags 4 -noadc -lib Gem diff --git a/debian/changelog b/debian/changelog index 435348f..30df1eb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,21 @@ +puredata (0.42.5-3.1) unstable; urgency=medium + + * debian/install: + - changed binary from /usr/bin/pd to /usr/bin/puredata + - added abstractions from extra to usr/lib/pd/extra + - added headers needed to build externals: m_imp.h, s_stuff.h, g_canvas.h + * debian/links: made /usr/bin/pd a link to /usr/bin/puredata + * debian/menu: made use /usr/bin/puredata to always start this version + * debian/puredata.desktop: + - added translations for the Comment field + - use the /usr/bin/puredata binary + * debian/patches/05_user-install-paths.diff: + - added standard paths for people to install their own externals + * debian/patches/06_bin-puredata.diff: + - patched pd to call binary /usr/bin/puredata + + -- Hans-Christoph Steiner <[email protected]> Tue, 02 Feb 2010 16:55:10 -0500 + puredata (0.42.5-3) unstable; urgency=low * debian/control: diff --git a/debian/install b/debian/install index 27144e9..7d5733a 100644 --- a/debian/install +++ b/debian/install @@ -1,4 +1,4 @@ -bin/pd usr/bin/ +bin/puredata usr/bin/ bin/pdsend usr/bin/ bin/pdreceive usr/bin/ bin/pd-gui usr/lib/pd/bin/ @@ -6,7 +6,20 @@ bin/pd-watchdog usr/lib/pd/bin/ bin/pd.tk usr/lib/pd/bin/ doc/5.reference usr/lib/pd/doc/ src/m_pd.h usr/include +src/m_imp.h usr/include +src/g_canvas.h usr/include +src/s_stuff.h usr/include extra/*/*.pd_linux usr/lib/pd/extra +extra/*/*.pd_linux usr/lib/pd/extra +extra/complex-mod~.pd usr/lib/pd/extra +extra/hilbert~.pd usr/lib/pd/extra +extra/rev1-final.pd usr/lib/pd/extra +extra/rev1~.pd usr/lib/pd/extra +extra/rev1-stage.pd usr/lib/pd/extra +extra/rev2~.pd usr/lib/pd/extra +extra/rev3~.pd usr/lib/pd/extra +extra/loop~/test-loop~.pd usr/lib/pd/extra +extra/pd~/pd~-subprocess.pd usr/lib/pd/extra extra/*-help.pd usr/lib/pd/doc/5.reference/ extra/*/*-help.pd usr/lib/pd/doc/5.reference/ debian/puredata.xpm usr/share/pixmaps diff --git a/debian/links b/debian/links index e8a0179..6cdf05c 100644 --- a/debian/links +++ b/debian/links @@ -5,5 +5,5 @@ usr/share/doc/puredata/4.data.structures usr/lib/pd/doc/4.data.structures usr/share/doc/puredata/6.externs usr/lib/pd/doc/6.externs usr/share/doc/puredata/7.stuff usr/lib/pd/doc/7.stuff usr/share/doc/puredata/sound usr/lib/pd/doc/sound -usr/bin/pd usr/bin/puredata +usr/bin/puredata usr/bin/pd usr/share/man/man1/pd.1.gz usr/share/man/man1/puredata.1.gz diff --git a/debian/menu b/debian/menu index 6f85240..446db4e 100644 --- a/debian/menu +++ b/debian/menu @@ -1,4 +1,4 @@ ?package(puredata):needs="x11" section="Applications/Sound"\ title="PureData" \ - command="/usr/bin/pd" \ + command="/usr/bin/puredata" \ icon="/usr/share/pixmaps/puredata.xpm" diff --git a/debian/patches/05_user-install-paths.diff b/debian/patches/05_user-install-paths.diff new file mode 100644 index 0000000..9893e94 --- /dev/null +++ b/debian/patches/05_user-install-paths.diff @@ -0,0 +1,72 @@ +diff --git a/src/s_path.c b/src/s_path.c +index d74aa0f..fc2eb6a 100644 +--- a/src/s_path.c ++++ b/src/s_path.c +@@ -69,6 +69,31 @@ void sys_unbashfilename(const char *from, char *to) + *to = 0; + } + ++/* expand env vars and ~ at the beginning of a path and make a copy to return */ ++static void sys_expandpath(const char *from, char *to) ++{ ++ if ((strlen(from) == 1 && from[0] == '~') || (strncmp(from,"~/", 2) == 0)) ++ { ++#ifdef MSW ++ const char *home = getenv("USERPROFILE"); ++#else ++ const char *home = getenv("HOME"); ++#endif ++ if(home) ++ { ++ strncpy(to, home, FILENAME_MAX - 1); ++ strncat(to, from + 1, FILENAME_MAX - strlen(from) - 2); ++ } ++ } ++ else ++ strncpy(to, from, FILENAME_MAX - 1); ++#ifdef MSW ++ char buf[FILENAME_MAX]; ++ ExpandEnvironmentStrings(to, buf, FILENAME_MAX - 2); ++ strncpy(to, buf, FILENAME_MAX - 1); ++#endif ++} ++ + /* test if path is absolute or relative, based on leading /, env vars, ~, etc */ + int sys_isabsolutepath(const char *dir) + { +@@ -193,8 +218,16 @@ int sys_usestdpath = 1; + + void sys_setextrapath(const char *p) + { ++ char pathbuf[FILENAME_MAX]; + namelist_free(pd_extrapath); +- pd_extrapath = namelist_append(0, p, 0); ++ /* add standard place for users to install stuff first */ ++ ++ sys_expandpath("~/pd-externals", pathbuf); ++ pd_extrapath = namelist_append(0, pathbuf, 0); ++ pd_extrapath = namelist_append(pd_extrapath, "/usr/local/lib/pd-externals", 0); ++ ++ /* add built-in "extra" path last so its checked last */ ++ pd_extrapath = namelist_append(pd_extrapath, p, 0); + } + + #ifdef MSW +@@ -319,11 +352,12 @@ static int do_open_via_path(const char *dir, const char *name, + dirresult, nameresult, size, bin)) >= 0) + return (fd); + +- /* next look in "extra" */ +- if (sys_usestdpath && +- (fd = sys_trytoopenone(pd_extrapath->nl_string, name, ext, +- dirresult, nameresult, size, bin)) >= 0) +- return (fd); ++ /* next look in built-in paths like "extra" */ ++ if (sys_usestdpath) ++ for (nl = pd_extrapath; nl; nl = nl->nl_next) ++ if ((fd = sys_trytoopenone(nl->nl_string, name, ext, ++ dirresult, nameresult, size, bin)) >= 0) ++ return (fd); + + *dirresult = 0; + *nameresult = dirresult; diff --git a/debian/patches/06_bin-puredata.diff b/debian/patches/06_bin-puredata.diff new file mode 100644 index 0000000..7a28553 --- /dev/null +++ b/debian/patches/06_bin-puredata.diff @@ -0,0 +1,74 @@ +diff --git a/src/makefile.in b/src/makefile.in +index cba0f7a..dd5be9f 100644 +--- a/src/makefile.in ++++ b/src/makefile.in +@@ -1,7 +1,7 @@ + VPATH = ../obj:./ + OBJ_DIR = ../obj + BIN_DIR = ../bin +-PDEXEC = $(BIN_DIR)/pd ++PDEXEC = $(BIN_DIR)/puredata + EXT= @EXT@ + GUINAME= @GUINAME@ + +@@ -16,7 +16,7 @@ GFLAGS = -DINSTALL_PREFIX=\"$(prefix)\" + + # varibles to match packages/Makefile.buildlayout so that they can be easily + # overridden when building Pd-extended builds. <[email protected]> +-libpddir = $(libdir)/pd ++libpddir = $(libdir)/puredata + pddocdir = $(libpddir)/doc + libpdbindir = $(libpddir)/bin + +@@ -81,12 +81,12 @@ endif + # ------------------ targets ------------------------------------ + # + +-.PHONY: pd gui externs all ++.PHONY: puredata gui externs all + +-all: pd $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \ ++all: puredata $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \ + $(BIN_DIR)/pdreceive $(BIN_DIR)/pd.tk externs + +-bin: pd $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \ ++bin: puredata $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \ + $(BIN_DIR)/pdreceive $(BIN_DIR)/pd.tk + + $(OBJ) : %.o : %.c +@@ -98,7 +98,7 @@ $(GOBJ) : %.o : %.c + $(ASIOOBJ): %.o : %.cpp + $(CXX) $(CFLAGS) $(INCLUDE) -c -o $(OBJ_DIR)/$*.o $*.cpp + +-pd: $(PDEXEC) ++puredata: $(PDEXEC) + + ifneq ($(GSRC),) + gui: $(BIN_DIR)/$(GUINAME) +@@ -170,7 +170,7 @@ install: all + install $(BIN_DIR)/pd-watchdog $(DESTDIR)$(libpdbindir)/pd-watchdog + install -m644 $(BIN_DIR)/pd.tk $(DESTDIR)$(libpdbindir)/pd.tk + install -d $(DESTDIR)$(bindir) +- install $(BINARYMODE) $(PDEXEC) $(DESTDIR)$(bindir)/pd ++ install $(BINARYMODE) $(PDEXEC) $(DESTDIR)$(bindir)/puredata + install -m755 $(BIN_DIR)/pdsend $(DESTDIR)$(bindir)/pdsend + install -m755 $(BIN_DIR)/pdreceive $(DESTDIR)$(bindir)/pdreceive + for dir in $(shell ls -1 ../doc | grep -v CVS); do \ +@@ -202,7 +202,7 @@ install: all + @echo "Pd install succeeded." + + local-clean: +- -rm -f ../obj/* $(BIN_DIR)/pd $(BIN_DIR)/$(GUINAME) $(BIN_DIR)/pdsend \ ++ -rm -f ../obj/* $(BIN_DIR)/puredata $(BIN_DIR)/$(GUINAME) $(BIN_DIR)/pdsend \ + $(BIN_DIR)/pdreceive $(BIN_DIR)/pd-watchdog m_stamp.c + -rm -f `find ../portaudio -name "*.o"` + -rm -f *~ +@@ -232,7 +232,7 @@ makefile.dependencies: makefile + + uninstall: + rm -f -r $(DESTDIR)$(libpddir) +- rm -f $(DESTDIR)$(bindir)/pd ++ rm -f $(DESTDIR)$(bindir)/puredata + rm -f $(DESTDIR)$(bindir)/pdsend + rm -f $(DESTDIR)$(bindir)/pdreceive + rm -f $(DESTDIR)$(includedir)/m_pd.h diff --git a/debian/patches/series b/debian/patches/series index 6622a23..24e05d8 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -2,3 +2,5 @@ 02_kfreebsd.diff 03_nostrip.diff 04_hurd.diff +05_user-install-paths.diff +06_bin-puredata.diff diff --git a/debian/puredata.desktop b/debian/puredata.desktop index e43b926..a43e974 100644 --- a/debian/puredata.desktop +++ b/debian/puredata.desktop @@ -1,9 +1,18 @@ [Desktop Entry] -Type=Application -Name=PureData -GenericName= -Comment= -Icon=puredata.xpm -Exec=/usr/bin/pd +Encoding=UTF-8 +Name=Pure Data +GenericName=Pd +Comment=Visual dataflow programming platform for multimedia +Comment[ca]=Plataforma de programaci� visual per aplicacions multim�dia +Comment[de]=Grafische Datenflussprogrammierung f�r Multimedia +Comment[es]=Plataforma de programaci�n visual para aplicaciones multimedia +Comment[fr]=Plateforme de programmation visuelle pour applications multim�dia +Comment[it]=Piattaforma di programmazione visuale per applicazioni multimedia +Comment[pt]=Plataforma de programa��o visuais para multimedia +Exec=/usr/bin/puredata %F Terminal=false -Categories=AudioVideo;Audio; +Type=Application +Icon=puredata +TryExec=puredata +Categories=AudioVideo;Audio;Video +StartupNotify=false

